William Schultz

schultz (dot) w (at) northeastern (dot) edu

I am a fourth-year PhD student in the formal methods group at Northeastern University where I am advised by Stavros Tripakis. My research interests are in formal methods and distributed systems broadly.

During my PhD I have interned at Apple, working on formal verification of memory subsystems for their SoCs, and most recently at Microsoft Research, where I worked on compositional verification techniques for distributed protocols within the Azure Research group.

Previously I worked as a software engineer at MongoDB on their distributed database replication system. Before that I was an undergraduate at Cornell University, where I studied Mathematics and Computer Science and graduated in 2016.


  • Plain and Simple Inductive Invariant Inference for Distributed Protocols in TLA+ [pdf] [code] [slides]
    William Schultz, Ian Dardik, and Stavros Tripakis. FMCAD 2022
  • Formal Verification of a Distributed Dynamic Reconfiguration Protocol [pdf] [code]
    William Schultz, Ian Dardik, and Stavros Tripakis. CPP 2022
  • Design And Analysis of a Logless Dynamic Reconfiguration Protocol [pdf] [full version] [code]
    William Schultz, Siyuan Zhou, Ian Dardik, and Stavros Tripakis. OPODIS 2021
  • Tunable Consistency in MongoDB [pdf]
    William Schultz, Tess Avitabile, and Alyson Cabral. VLDB 2019


  • Inductive Invariant Inference in TLA+ [link]
    William Schultz. New England Systems Verification Day 2022.

  • A Bug's Life: Fixing a MongoDB Replication Protocol Bug with TLA+ [video] [slides]
    William Schultz and Siyuan Zhou. TLA+ Conference 2019.


  • Summer 2023 Research Intern, Microsoft Research Cambridge
  • Spring 2023 Formal Verification Intern, Apple
  • Summer 2022 Applied Scientist Intern, Amazon Web Services (AWS)
  • Summer 2021 Research Intern, NASA Langley Research Center [presentation]
  • 2016 - 2020 Software Engineer, MongoDB