Research Interests

I’m interested in helping programmers build provably correct, efficient software, using techniques from programming languages and formal methods. To achieve this, I work on:

  • developing program synthesizers that generate correct-by-construction software automatically;
  • formally verifying that existing software conforms to logical specifications;
  • designing domain-specific languages to make it easier to build reliable software for emerging domains.

Publications

Names marked + indicate equal contribution.

Preprints

Invited Talks

  • Tessel: An Optimizing Compiler for Efficient Zero-Knowledge Circuits
    The Science of Blockchain Conference, UC Berkeley · Aug 2025

  • Polymorphism, Curry–Howard, and Program Verification
    Guest lecture for CS 162, UCSB · Feb 2023

  • Formal Verification for Zero-Knowledge Proofs
    Applied ZK Workshop @ Science of Blockchain Conference, Stanford University · Jul 2022

  • Introduction to Interactive Theorem Proving in Coq
    0xPARC Summer Residency, NYC · Jul 2022

  • Refinement Types and Program Verification
    Guest lecture for CS 162, UCSB · Feb 2022

Service

  • Artifact Evaluation Committee
    PLDI 2026 · ECOOP 2026 · USENIX Security 2026

  • External Reviewer
    ISSTA 2026 · USENIX Security 2026 · TSE 2024

  • Student Volunteer
    PLDI 2022