I am a Professor of Computer Science at the Courant Institute of New York University and a member of the Analysis of Computer Systems Group. See my curriculum vitae for further details.
I presently serve as Chair of the Computer Science Department.
News & Highlights
- 2026-09-01 — Congratulations to my former PhD student and Courant Faculty fellow Elaine Li, who is starting as an Assistant Professor at Barnard College, Columbia University!
- 2026-09-01 — Congratulations to my former PhD student Ekanshdeep Gupta, who is joining NVIDIA's Rigorous Software Engineering and Validation team!
- 2026-04-03 — Our paper "Implementability of Global Distributed Protocols modulo Network Architectures" (with Elaine Li) was accepted at PLDI 2026.
Research
My research focuses on program analysis and verification, automated deduction, and concurrency.
Current Research Projects
Raven
Raven is a deductive verifier for concurrent programs, built on a form of concurrent separation logic with SMT-backed proof automation. It aims to make full functional-correctness verification of fine-grained concurrent code practical, reducing much of the manual proof burden typically required by separation-logic-based reasoning.
Key Papers
- In Computer Aided Verification (CAV), 2025
- An Extension API for the Concurrent Program Verifier RavenIn Formal Methods in Computer-Aided Design (FMCAD), 2026
Consistent Microservice Updates
This project studies how to safely evolve microservice-based distributed systems while they are running, so that rolling out an update never leaves the system in a state whose inconsistency is visible to clients. Our POPL'26 paper, joint with Devora Chait-Roth and Kedar Namjoshi, develops techniques for reasoning about and enforcing consistency during such updates at scale.
Key Papers
- PACMPL, 10(Principles of Programming Languages (POPL)), 2026
Global Protocol Implementability
Joint work with Elaine Li, together with Felix Stutz and Damien Zufferey, on when a global, choreographic specification of a multiparty distributed protocol can be faithfully realized by a collection of independently communicating processes. This line of work extends classical multiparty session type theory to protocols with richer, potentially infinite state, and develops both automated (SMT- and automata-based) and mechanically certified verification techniques for establishing implementability.
Key Papers
- In Computer Aided Verification (CAV), 2023
- In Computer Aided Verification (CAV), 2025
- PACMPL, 9(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2025
- Implementability of Global Distributed Protocols modulo Network ArchitecturesdoiPACMPL, 10(Programming Language Design and Implementation (PLDI)), 2026
Selected Publications
- Implementability of Global Distributed Protocols modulo Network ArchitecturesdoiPACMPL, 10(Programming Language Design and Implementation (PLDI)), 2026
- PACMPL, 10(Principles of Programming Languages (POPL)), 2026
- In ACM Workshop on Hot Topics in Networks (HOTNETS), 2025
- PACMPL, 9(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2025
- PACMPL, 9(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2025
- In Computer Aided Verification (CAV), 2025
- In Computer Aided Verification (CAV), 2025
- In Computer Aided Verification (CAV), 2025
- In European Conference on Object-Oriented Programming (ECOOP), 2024
- In IEEE Symposium on Security and Privacy (IEEE S&P), 2023
- PACMPL, 7(Programming Language Design and Implementation (PLDI)), 2023
- In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2023
- PACMPL, 6(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2022
- In Conference on Neural Information Processing Systems (NeurIPS), 2021
- Morgan & Claypool Publishers, 2021
- In Computer Aided Verification (CAV), 2013
Selected Invited Talks and Lectures
- 14th International Conference on Networeyd Sstems, Agadir, Morocco, June 2026
- Fifteenth Summer School on Formal Techniques, Menlo Park, CA, USA, May 2026
- International Conference on Concurrency Theory, Calgary, Canada, September 2024
- Eleventh Summer School on Formal Techniques, Menlo Park, CA, USA, June 2022
- Simons Institute Seminar on “Theoretical Foundations of Computer Systems”, February 2021
- 16th International Workshop on Satisfiability Modulo Theories, Oxford, UK, July 2018
- Summer School on Verification Technology, Systems, & Applications, Saarbrücken, Germany, July–August 2017
- International Summer School on Satisfiability, Satisfiability Modulo Theories, and Automated Reasoning, Lisbon, Portugal, June 2016
- International Conference on Verification, Model Checking, and Abstract Interpretation, San Diego, CA, USA, January 2014
Teaching
Principles of Programming Languages (undergraduate)
Programming Languages (graduate)
Computer Systems Organization (undergraduate)
Object-Oriented Programming (graduate)
Object-Oriented Programming (undergraduate)
Rigorous Software Development (graduate)
Programming Paradigms for Concurrency (graduate)
Professional Activities
Organizer
- Co-organizer of VerifyThis 2025
- Program co-chair of NETYS 2023
- Program chair of ESOP 2023
- Program co-chair of VMCAI 2022
- Fellowship chair of CAV 2021
- Fellowship chair of CAV 2020
- Program co-chair of SYNT 2019
- Fellowship chair of CAV 2019
- Program co-chair of VSTTE 2017
- Program chair of TAPAS 2017
- Program co-chair of WING 2012
Program Committee Member
- VMCAI 2026
- POPL 2024, FMCAD 2024
- IEEE S&P 2023
- PLDI 2022
- FMCAD 2021, VSTTE 2021
- POPL 2020, VMCAI 2020, ADSL 2020, NETYS 2020, VSTTE 2020, VDS 2020 (co-chair)
- TACAS 2019, SYNT 2019 (co-chair)
- CAV 2018, TACAS 2018, VMCAI 2018, VSTTE 2018, ADSL 2018
- ECOOP 2017, TACAS 2017, TMPA 2017, VSTTE 2017 (co-chair), CREST 2017, CONCUR 2017, Onward! 2017, TAPAS 2017 (chair)
- POPL 2016 (ERC), VMCAI 2016, CAV 2016
- VMCAI 2015
- POPL 2014, SMT 2014, FOOL 2014
- VSTTE 2013
- WING 2012 (co-chair), BOOGIE 2012, FTfJP 2012, SAS 2012, VSTTE 2012
- WING 2010
- WING 2009
Publications
See also my DBLP entry for a complete list of my publications.
Books
- Morgan & Claypool Publishers, 2021
In Journals
- Implementability of Global Distributed Protocols modulo Network ArchitecturesdoiPACMPL, 10(Programming Language Design and Implementation (PLDI)), 2026
- PACMPL, 10(Principles of Programming Languages (POPL)), 2026
- PACMPL, 9(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2025
- PACMPL, 9(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2025
- PACMPL, 7(Programming Language Design and Implementation (PLDI)), 2023
- PACMPL, 6(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2022
- PACMPL, 5(Object-oriented Programming, Systems, Languages, and Applications (OOPSLA)), 2021
- PACMPL, 5(ACM Symposium on the Principles of Programming Languages (POPL)), 2021
- PACMPL, 2(ACM Symposium on the Principles of Programming Languages (POPL)), 2018
- Journal of Automated Reasoning, 57(1), 2016
- Science of Computer Programming (SCICO), 93, 2014
- Formal Methods in System Design (FMSD), 37(2-3), 2010
In Conferences
- An Extension API for the Concurrent Program Verifier RavenIn Formal Methods in Computer-Aided Design (FMCAD), 2026
- In Fifth Conference on Causal Learning and Reasoning, 2026
- In ACM Workshop on Hot Topics in Networks (HOTNETS), 2025
- In Interactive Theorem Proving (ITP), 2025
- In Computer Aided Verification (CAV), 2025
- In Computer Aided Verification (CAV), 2025
- In Computer Aided Verification (CAV), 2025
- In European Conference on Object-Oriented Programming (ECOOP), 2024
- In European Symposium on Programming (ESOP), 2024
- In Computer Aided Verification (CAV), 2023
- In Computer Aided Verification (CAV), 2023
- In IEEE Symposium on Security and Privacy (IEEE S&P), 2023
- In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2023
- In International Conference on Software Technologies (ICSOFT), 2022
- In Conference on Neural Information Processing Systems (NeurIPS), 2021
- In Computer Aided Verification (CAV), 2020
- In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2020
- In European Symposium on Programming (ESOP), 2020
- Charting a Course Through Uncertain Environments: SEA Uses Past Problems to Avoid Future FailurespdfBest Paper AwardIn International Symposium on Software Reliability Engineering (ISSRE), 2019
- In Computer Aided Verification (CAV), 2019
- In World Wide Web Conference (WWW), 2019
- In ACM Conference on Computer and Communications Security (CCS), 2017
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2017
- In International Symposium on Formal Methods (FM), 2016
- In AAAI Conference on Human Computation and Crowdsourcing (HCOMP), 2016
- In Tests and Proofs (TAP), 2016
- In ACM SIGPLAN International Conference on Functional Programming (ICFP), 2015
- In Computer Aided Verification (CAV), 2015
- In International Conference on Software Engineering (ICSE), Demonstrations Track, 2015
- In NASA Formal Methods (NFM), 2015
- Finding Minimum Type Error SourcespdfBest Paper AwardIn ACM SIGPLAN International Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA), 2014
- In IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 2014
- In Computer Aided Verification (CAV), 2014
- In Fundamental Approaches to Software Engineering (FASE), 2014
- In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2014
- In VMCAI, 2014
- In ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2013
- In Computer Aided Verification (CAV), 2013
- In TACAS, 2013
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2013
- In ACM Symposium on the Principles of Programming Languages (POPL), 2013
- In Formal Methods (FM), 2012
- In Verified Software: Theories, Tools, Experiments (VSTTE), 2012
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2012
- In Conference on Automated Deduction (CADE-23), 2011
- In European Conference on Computer Systems (EuroSys), 2011
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2011
- In International Conference on Embedded Systems (EMSOFT), 2010
- In IEEE International Conference on Cloud Computing (IEEE CLOUD), 2010
- In Foundations of Software Science and Computation Structures (FoSSaCS), 2010
- In ACM Symposium on the Principles of Programming Languages (POPL), 2010
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2010
- In Symposium on Frontiers of Combining Systems (FroCoS), 2009
- In Static Analysis Symposium (SAS), 2009
- In Formal Methods (FM), 2009
- In Computer Aided Verification (CAV), 2009
- In Computer Aided Verification (CAV), 2008
- In Computer Aided Verification (CAV), 2007
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2007
- In Verification, Model Checking, and Abstract Interpretation (VMCAI), 2006
- In Static Analysis Symposium (SAS), 2005
In Workshops
- In Workshop on Machine Reading for Question Answering@ACL, 2018
- In USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 2011
- In Workshop on Exploiting Concurrency Efficiently and Correctly (EC^2), 2011
- In Workshop on Heap Analysis and Verification (HAV), 2007
Thesis
- University of Freiburg, Freiburg, Germany, 2009
Technical Reports
- Consistent Updates for Scalable MicroservicesarXiv Technical Report, abs/2508.04829, 2025
- arXiv Technical Report, abs/2305.17079, 2023
- IACR Cryptol. ePrint Arch. Technical Report, 2022/1557, 2022
- arXiv Technical Report, abs/2209.13692, 2022
- arXiv Technical Report, arXiv:2207.02355, 2022
- arXiv Technical Report, arXiv:1911.08632, 2019
- arXiv Technical Report, arXiv:1711.03272, 2017
- NYU Technical Report, TR2012-947, 2013
- NYU Technical Report, TR2013-954, 2013
- NYU Technical Report, TR2012-950, 2012
- IST Technical Report, IST-2011-0005, 2011
- EPFL Technical Report, EPFL-REPORT-148361, 2010
- EPFL Technical Report, LARA-REPORT-2009-002, 2009
- EPFL Technical Report, LARA-REPORT-2009-001, 2009
- MIT CSAIL Technical Report, MIT-CSAIL-TR-2005-072, MIT-LCS-TR-1010, 2005