Research
I lead the Reliable and Secure Systems Lab.
My group's research focuses on building systems that are both reliable and secure.
In particular, during the last years, we have developed techniques and methodologies
that are particularly suited to address this problem in the context of core software systems
– the building blocks in modern computing
that other software layers critically rely upon, such as operating systems,
hypervisors and distributed systems.
Before joining Purdue, I was postdoc at the University of Washington where I worked with
Arvind Krishnamurthy,
Hank Levy, and
Xi Wang.
Before that, I graduated from MPI-SWS and
the University of Saarland
where I worked with Rodrigo Rodrigues.
Fall 2021 I am looking for talented, highly motivated PhD students to join my lab next Fall!
Prospective students should email me and explain their research interests and how they relate to my work.
Publications
-
On-Demand-Fork: A Microsecond Fork for Memory-Intensive and Latency-Sensitive Applications
Kaiyang Zhao, Sishuai Gong, Pedro Fonseca.
In the 16th USENIX EuroSys Conference 2021 (EuroSys'21). [To appear]
-
KARD: Lightweight Data Race Detection with Per-Thread Memory Protection
Adil Ahmad, Sangho Lee, Pedro Fonseca, Byoungyoung Lee.
In the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'21). [To appear]
-
CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs
[pdf]
Adil Ahmad, Juhee Kim, Jaebaek Seo, Insik Shin, Pedro Fonseca, Byoungyoung Lee.
In the Network and Distributed System Security Symposium 2021 (NDSS'21). [To appear]
-
SHARD: Fine-Grained Kernel Specialization with Context-Aware Hardening
[pdf]
Muhammad Abubakar, Adil Ahmad, Pedro Fonseca, Dongyan Xu.
In the USENIX Security Symposium 2021 (Usenix Security'21). [To appear]
-
SoK: Understanding the Prevailing Security Vulnerabilities in TrustZone-assisted TEE Systems
[pdf]
David Cerdeira, Nuno Santos, Pedro Fonseca, Sandro Pinto.
In the IEEE Symposium on Security and Privacy 2020 (S&P'20).
-
Cirrus: A Serverless Framework for End-to-End ML Workflows
[pdf]
Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, Randy Katz.
In the ACM Symposium on Cloud Computing 2019 (SoCC'19).
-
A Case for Serverless Machine Learning
[pdf]
Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, Randy Katz.
In the Workshop on Systems for ML at NeurIPS 2018 (MLSYS'18).
-
MultiNyx: A Multi-level Abstraction Framework for Systematic Analysis of Hypervisors
[pdf]
[slides]
Pedro Fonseca, Xi Wang, Arvind Krishnamurthy.
In the 13th USENIX EuroSys Conference (EuroSys 2018).
-
Cntr: Lightweight OS Containers
[pdf]
[code]
Jörg Thalheim, Pramod Bhatotia, Pedro Fonseca, and Baris Kasikci.
In the USENIX Annual Technical Conference (ATC 2018).
-
An Empirical Study on the Correctness of Formally Verified Distributed Systems
[pdf]
[slides]
Pedro Fonseca, Kaiyuan Zhang, Xi Wang, and Arvind Krishnamurthy.
In the 12th USENIX EuroSys Conference (EuroSys 2017).
-
Diamond: Automating Data Management and Storage for Wide-area, Reactive Applications
[pdf]
[code]
Irene Zhang, Niel Lebeck, Pedro Fonseca, Brandon Holt, Raymond Cheng, Ariadna Norberg, Arvind Krishnamurthy, and Henry M. Levy.
In the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016).
-
iThreads: A Threading Library for Parallel Incremental Computation
[pdf]
Pramod Bhatotia, Pedro Fonseca, Umut Acar, Björn Brandenburg, and Rodrigo Rodrigues.
In the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015).
-
SKI: Exposing Kernel Concurrency Bugs through Systematic Schedule Exploration
[pdf]
[slides]
[code]
Pedro Fonseca, Rodrigo Rodrigues, and Björn Brandenburg.
In the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2014)
-
Composing OS Extensions Safely and Efficiently with Bascule
[pdf]
Andrew Baumann, Dongyoon Lee, Pedro Fonseca, Lisa Glendenning, Jacob R. Lorch, Barry Bond, Reuben Olinsky, and Galen C. Hunt.
In the 7th ACM European Conference on Computer Systems (EuroSys 2013).
-
Fighting Cybercrime with Packet Attestation
[pdf]
Andreas Haeberlen, Pedro Fonseca, Rodrigo Rodrigues, and Peter Druschel.
Technical Report MPI-SWS-2011-002, Max Planck Institute for Software Systems, July 2011.
-
Finding Complex Concurrency Bugs in Large Multi-Threaded Applications
[pdf]
Pedro Fonseca, Cheng Li, and Rodrigo Rodrigues.
In the 5th ACM European Conference on Computer Systems (EuroSys 2011).
-
A Study of the Internal and External Effects of Concurrency Bugs
[pdf]
Pedro Fonseca, Cheng Li, Vishal Singhal, and Rodrigo Rodrigues.
In the 40th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2010).
-
Zeno: Eventually Consistent Byzantine Fault Tolerance
[pdf]
Atul Singh, Pedro Fonseca, Petr Kuznetsov, Rodrigo Rodrigues, and Petros Maniatis.
In the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI 09).
-
Full-Information Lookups for Peer-to-Peer Overlays
Pedro Fonseca, Rodrigo Rodrigues, Anjali Gupta, and Barbara Liskov.
In the IEEE Transactions on Parallel and Distributed Systems (TPDS), vol. 20, no. 9, September 2009.
-
Defining Weakly Consistent Byzantine Fault-Tolerant Services
[pdf]
Atul Singh, Pedro Fonseca, Petr Kuznetsov, Rodrigo Rodrigues, and Petros Maniatis.
In the Large-Scale Distributed Systems and Middleware (LADIS 2008).
Selected Service
SP'22 (PC),
SOSP'21 (publicity chair),
EuroSys'21 (mentorship co-chair),
ATC'21 (PC),
EuroDW'21 (PC),
EuroSys'21 (PC),
ATC'20 (PC),
HotCloud'20 (PC),
SoCC'20 (PC),
HotCloud'19 (PC),
ICDCS'19 (PC),
OPODIS'18 (PC),
ICDCS'18 (PC)
Teaching