Papers


[76] USSL: A Universe-Stratified Concurrent Separation Logic for Intrinsic Proofs of Dependently Typed Programs (). [bibtex] [pdf]
2011
[75] Secure Distributed Programming with Value-Dependent Types (, , , , and ), In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, Association for Computing Machinery, . [bibtex] [url] [doi]
2012
[74] Self-Certification: Bootstrapping Certified Typecheckers in F* with Coq (, , and ), In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Association for Computing Machinery, . [bibtex] [url] [doi]
[73] Self-Certification: Bootstrapping Certified Typecheckers in F* with Coq (, , and ), In SIGPLAN Not., Association for Computing Machinery, volume 47, . [bibtex] [url] [doi]
2013
[72] Fully Abstract Compilation to JavaScript (, , , , and ), In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Association for Computing Machinery, . [bibtex] [url] [doi]
[71] Verifying Higher-order Programs with the Dijkstra Monad (, , , and ), In Proceedings of the 34th annual ACM SIGPLAN conference on Programming Language Design and Implementation, . [bibtex] [url]
[70] Secure Distributed Programming with Value-Dependent Types (, , , , and ), In Journal of Functional Programming, volume 23, . [bibtex] [url] [doi]
[69] Fully Abstract Compilation to JavaScript (, , , , and ), In SIGPLAN Not., Association for Computing Machinery, volume 48, . [bibtex] [url] [doi]
2014
[68] Probabilistic Relational Verification for Cryptographic Implementations (, , , , and ), In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Association for Computing Machinery, . [bibtex] [url] [doi]
[67] Gradual Typing Embedded Securely in JavaScript (, , , , , and ), In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Association for Computing Machinery, . [bibtex] [url] [doi]
[66] Gradual Typing Embedded Securely in JavaScript (, , , , , and ), In SIGPLAN Not., Association for Computing Machinery, volume 49, . [bibtex] [url] [doi]
[65] Probabilistic Relational Verification for Cryptographic Implementations (, , , , and ), In SIGPLAN Not., Association for Computing Machinery, volume 49, . [bibtex] [url] [doi]
2016
[64] Dependent Types and Multi-Monadic Effects in F* (, , , , , , , , , , and ), In 43rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), ACM, . [bibtex] [url]
[63] Towards a Provably Correct Encoding from F* to SMT (), Inria Internship Report, . [bibtex] [pdf]
2017
[62] HACL*: A Verified Modern Cryptographic Library (, , and ), In ACM Conference on Computer and Communications Security, ACM, . [bibtex] [url]
[61] Implementing and Proving the TLS 1.3 Record Layer (, , , , , , , , and ), In IEEE Security & Privacy, . [bibtex] [url]
[60] Verified Compilation of Space-Efficient Reversible Circuits (, and ), In Computer Aided Verification (Majumdar, Rupak, Kunčak, Viktor, eds.), Springer International Publishing, . [bibtex] [url]
[59] Dijkstra Monads for Free (, , , , , , and ), In 44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL), ACM, . [bibtex] [url] [doi]
[58] Everest: Towards a Verified, Drop-in Replacement of HTTPS (, , , , , , , , , , , , , , , , , , , , and ), In 2nd Summit on Advances in Programming Languages, . [bibtex] [pdf]
[57] Verified Low-Level Programming Embedded in F* (, , , , , , , , , and ), In PACMPL, volume 1, . [bibtex] [url] [doi]
2018
[56] Recalling a Witness: Foundations and Applications of Monotonic State (, , , , and ), In PACMPL, volume 2, . [bibtex] [url]
[55] A Monadic Framework for Relational Verification: Applied to Information Security, Program Equivalence, and Optimizations (, , , , , , , , and ), In The 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, . [bibtex] [url]
2019
[54] Everparse: Verified Secure Zero-Copy Parsers for Authenticated Message Formats (, , , , , and ), In Proceedings of the 28th USENIX Conference on Security Symposium, USENIX Association, . [bibtex] [url]
[53] A Verified, Efficient Embedding of a Verifiable Assembly Language (, , , , and ), In PACMPL, . [bibtex] [pdf]
[52] Wys*: A DSL for Verified Secure Multi-party Computations (, and ), In 8th International Conference on Principles of Security and Trust (POST) (Flemming Nielson, David Sands, eds.), Springer, volume 11426, . [bibtex] [url] [doi]
[51] Formally Verified Cryptographic Web Applications in WebAssembly (, , and ), In 2019 IEEE Symposium on Security and Privacy (SP), . [bibtex] [pdf] [doi]
[50] Meta-F*: Proof Automation with SMT, Tactics, and Metaprograms (, , , , , , , , , , , and ), In 28th European Symposium on Programming (ESOP), Springer, . [bibtex] [url] [doi]
[49] The Next 700 Relational Program Logics (, , and ), arXiv:1907.05244, . [bibtex] [url]
[48] Dijkstra Monads for All (, , , , , and ), In 24th ACM SIGPLAN International Conference on Functional Programming (ICFP), . [bibtex] [url]
2020
[47]EverCrypt: A Fast, Verified, Cross-Platform Cryptographic Provider (, , , , , , , , , , , , , , and ), In 2020 IEEE Symposium on Security and Privacy (SP), . [bibtex] [doi]
[46] HACLxN: Verified Generic SIMD Crypto (for All Your Favourite Platforms) (, , , , , and ), In Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, Association for Computing Machinery, . [bibtex] [url] [doi]
[45] Verified Transformations and Hoare Logic: Beautiful Proofs for Ugly Assembly Language (, , , and ), In Proceedings of the Conference on Verified Software: Theories, Tools, and Experiments (VSTTE), . [bibtex] [pdf]
[44] SteelCore: An Extensible Concurrent Separation Logic for Effectful Dependently Typed Programs (, , , , and ), In 25th ACM SIGPLAN International Conference on Functional Programming (ICFP), . [bibtex] [url]
[43] Statically Verified Refinements for Multiparty Protocols (, , , and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 4, . [bibtex] [url] [doi]
2021
[42]Verified Functional Programming of an Abstract Interpreter (, and ), In Static Analysis (Dr\uagoi, Cezara, Mukherjee, Suvam, Namjoshi, Kedar, eds.), Springer International Publishing, . [bibtex] [doi]
[41] A Tutorial-Style Introduction to DY* (, , , , , and ), Chapter in (Dougherty, Daniel, Meseguer, José, Mödersheim, Sebastian Alexander, Rowe, Paul, eds.), Springer International Publishing, . [bibtex] [url] [doi]
[40] Verification of a Merkle Patricia Tree Library Using F* (, , , and ), In ArXiv, volume abs/2106.04826, . [bibtex] [url]
[39] An In-Depth Symbolic Security Analysis of the ACME Standard (, , , , , and ), In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, Association for Computing Machinery, . [bibtex] [url] [doi]
[38]DY*: A Modular Symbolic Verification Framework for Executable Cryptographic Protocol Code (, , , , , and ), In 2021 IEEE European Symposium on Security and Privacy (EuroS&P), volume , . [bibtex] [doi]
[37]A Security Model and Fully Verified Implementation for the IETF QUIC Record Layer (, , , , , , , and ), In 2021 IEEE Symposium on Security and Privacy (SP), volume , . [bibtex] [doi]
[36] FastVer: Making Data Integrity a Commodity (, , , , , , , , , , , and ), In Proceedings of the 2021 International Conference on Management of Data, Association for Computing Machinery, . [bibtex] [url] [doi]
[35] Programming and Proving with Indexed Effects (, , , and ), Technical report, . [bibtex] [url]
[34] Steel: Proof-oriented Programming in a Dependently Typed Concurrent Separation Logic (, , , , , and ), In 25th ACM SIGPLAN International Conference on Functional Programming (ICFP), . [bibtex] [url]
[33] DICE*: A Formally Verified Implementation of DICE Measured Boot (, , , and ), In 30th Usenix Security Symposium, . [bibtex] [url]
[32] Catala: A Programming Language for the Law (, and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 5, . [bibtex] [url] [doi]
2022
[31] Certified Mergeable Replicated Data Types (, , and ), In Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Association for Computing Machinery, . [bibtex] [url] [doi]
[30]Noise*: A Library of Verified High-Performance Secure Channel Protocol Implementations (, , and ), In 2022 IEEE Symposium on Security and Privacy (SP), . [bibtex] [doi]
[29] Q*: Implementing Quantum Separation Logic in F* (, , and ), PLanQC 2022 (extended abstract), . [bibtex] [url]
[28] Hardening Attack Surfaces with Formally Proven Binary Format Parsers (, , , , , , , , and ), In Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI '22), June 13–17, 2022, San Diego, CA, USA, . [bibtex] [pdf]
[27] Aeneas: Rust Verification by Functional Translation ( and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 6, . [bibtex] [url] [doi]
[26] Provably-Safe Multilingual Software Sandboxing using WebAssembly (, and ), In Proceedings of the USENIX Security Symposium, . [bibtex] [pdf]
2023
[25] Comparse: Provably Secure Formats for Cryptographic Protocols (, and ), In Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security, Association for Computing Machinery, . [bibtex] [url] [doi]
[24] ASN1*: Provably Correct, Non-Malleable Parsing for ASN.1 DER (, , , and ), In Proceedings of the 12th ACM SIGPLAN International Conference on Certified Programs and Proofs, Association for Computing Machinery, . [bibtex] [url] [doi]
[23] Pipit: Reactive Systems in F* (Extended Abstract) ( and ), TyDe 2023 (extended abstract), . [bibtex] [pdf]
[22] A Theorem Proving Approach to Programming Language Semantics (), In 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET), . [bibtex] [url] [doi]
[21] TreeSync: Authenticated Group Management for Messaging Layer Security (, , and ), In Proceedings of the 32th USENIX Conference on Security Symposium, USENIX Association, . [bibtex] [url]
[20] FastVer2: A Provably Correct Monitor for Concurrent, Key-Value Stores (, , , , , , and ), In Certified Programs and Proofs, . [bibtex] [pdf]
[19] Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification (, and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 7, . [bibtex] [url] [doi]
[18] Verifying Indistinguishability of Privacy-Preserving Protocols (, and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 7, . [bibtex] [url] [doi]
2024
[17] Pipit on the Post: Proving Pre- and Post-Conditions of Reactive Systems ( and ), In 38th European Conference on Object-Oriented Programming, ECOOP 2024, September 16-20, 2024, Vienna, Austria (Jonathan Aldrich, Guido Salvaneschi, eds.), Schloss Dagstuhl - Leibniz-Zentrum für Informatik, volume 313, . [bibtex] [url] [doi]
[16] StarMalloc: A Formally Verified, Concurrent, Performant, and Security-Oriented Memory Allocator (, and ), In CoRR, volume abs/2403.09435, . [bibtex] [url] [doi]
[15] Towards Neural Synthesis for SMT-Assisted Proof-Oriented Programming (, , , , , and ), In CoRR, volume abs/2405.01787, . [bibtex] [url] [doi]
[14] 3DGen: AI-Assisted Generation of Provably Correct Binary Format Parsers (, , , and ), . [bibtex] [url]
[13] Securing Verified IO Programs Against Unverified Code in F* (, , , , , and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 8, . [bibtex] [url] [doi]
2025
[12] Formal Security and Functional Verification of Cryptographic Protocol Implementations in Rust (, , , and ), In Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security, . [bibtex] [url] [doi]
[11] Secure Parsing and Serializing with Separation Logic Applied to CBOR, CDDL, and COSE (, , and ), In Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security, . [bibtex] [pdf] [doi]
[10] A Mechanically Verified Garbage Collector for OCaml (, , , , and ), In Journal of Automated Reasoning, volume 69, . [bibtex] [url] [doi]
[9] PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed Programs (, , , , , and ), In Proceedings of the ACM on Programming Languages, volume 9, . [bibtex] [pdf] [doi]
[8] Automatically Verifying Replication-Aware Linearizability (, , and ), In Proceedings of the ACM on Programming Languages, volume 9, . [bibtex] [url] [doi]
[7] SecRef*: Securely Sharing Mutable References between Verified and Unverified Code in F* (, , , , , and ), In Proc. ACM Program. Lang., Association for Computing Machinery, volume 9, . [bibtex] [url] [doi]
2026
[6] DY* Unchained: Now with Composable Security Proofs and Precise Compromise Scenarios (), In 2026 IEEE Symposium on Security and Privacy (SP), IEEE, . [bibtex] [url] [doi]
[5] Kuiper: Correct and Efficient GPU Programming with Dependent Types and Separation Logic (, , , , , , and ), In Proceedings of the ACM on Programming Languages, volume 10, . [bibtex] [url] [doi]
[4] Project Everest: Perspectives from Developing Industrial-Grade High-Assurance Software (, , , , , , , , , , , , , , , , , , , and ), In ACM Transactions on Programming Languages and Systems, volume 48, . [bibtex] [url] [doi]
[3] Misquoted No More: Securely Extracting F* Programs with IO (, , , , and ), In Proceedings of the ACM on Programming Languages, volume 10, . [bibtex] [url] [doi]
[2] Proofs Promptly: Proof-Oriented Programming with AI Agents (Experience Report) (, , , and ), In Proceedings of the ACM on Programming Languages, volume 10, . [bibtex] [url] [doi]
[1] The ART of Agentic Proof-Oriented Programming: Audits, Rubrics, and Templates (, , , , and ), . [bibtex] [pdf]