Finding Invariants of Distributed Systems: It's a Small (Enough) World After All
Travis Hance, Marijn Heule, Ruben Martins, Bryan Parno
Abstract
Today's distributed systems are increasingly complex, leading to subtle bugs that are difficult to detect with standard testing methods. Formal verification can provably rule out such bugs, but historically it has been excessively labor intensive. For distributed systems, recent work shows that, given a correct inductive invariant, nearly all other proof work can be automated; however, the construction of such invariants is still a difficult manual task.
In this paper, we demonstrate a new methodology for automating the construction of inductive invariants, given as input a (formal) description of the distributed system and a desired safety condition. Our system performs an exhaustive search within a given space of candidate invariants in order to find and verify inductive invariants which suffice to prove the safety condition. Central to our ability to search efficiently is our algorithm's ability to learn from counterexamples whenever a candidate fails to be invariant, allowing us to check the remaining candidates more efficiently. We hypothesize that many distributed systems, even complex ones, may have concise invariants that make this approach practical, and in support of this, we show that our system is able to identify and verify inductive invariants for the Paxos protocol, which proved too complex for previous work.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 43918ac6-9b32-42b5-bc69-054759be82b7Cited by top-tier papers23
- DistAI: Data-Driven Automated Invariant Learning for Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh et al.OSDI 2021 · 76 citations
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma et al.OSDI 2024 · 50 citations
- DuoAI: Fast, Automated Inference of Inductive Invariants for Verifying Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehOSDI 2022 · 50 citations
- Verus: A Practical Foundation for Systems VerificationAndrea Lattuada, Travis Hance, Jay Bosamiya, Matthias Brun et al.SOSP 2024 · 22 citations
- Compiling Distributed System Models with PGoA. Finn Hackett, Shayan Hosseini, Renato Costa, Matthew Do et al.ASPLOS 2023 · 13 citations
Builds on2
Related papers
- Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable ProtocolsTony Nuda Zhang, Keshav Singh, Tej Chajed, Manos Kapritsos et al.OSDI 2025 · 9 citations
- I3DP: Neuro-Symbolic Inductive Invariant Inference for Distributed ProtocolsWeining Cao, Guangyuan Wu, Yuan Yao, Hengfeng Wei et al.SOSP 2026
- Simplifying Safety Proofs with Forward-Backward Reasoning and ProphecyEden Frenkel, Kenneth L. McMillan, Oded Padon, Sharon ShohamPLDI 2026
- Specy: Learning Specifications for Distributed Systems from Event TracesMike He, Ankush Desai, Jagarapu Aishwarya, Doug Terry et al.OOPSLA 2026
- Inductive Invariants That Spark Joy: Using Invariant Taxonomies to Streamline Distributed Protocol ProofsTony Nuda Zhang, Travis Hance, Manos Kapritsos, Tej Chajed et al.OSDI 2024 · 9 citations
