Message Chains for Distributed System Verification
Federico Mora, Ankush Desai, Elizabeth Polgreen, Sanjit A. Seshia
Abstract
Verification of asynchronous distributed programs is challenging due to the need to reason about numerous control paths resulting from the myriad interleaving of messages and failures. In this paper, we propose an automated bookkeeping method based on message chains. Message chains reveal structure in asynchronous distributed system executions and can help programmers verify their systems at the message passing level of abstraction. To evaluate our contributions empirically we build a verification prototype for the P programming language that integrates message chains. We use it to verify 16 benchmarks from related work, one new benchmark that exemplifies the kinds of systems our method focuses on, and two industrial benchmarks. We find that message chains are able to simplify existing proofs and our prototype performs comparably to existing work in terms of runtime. We extend our work with support for specification mining and find that message chains provide enough structure to allow existing learning and program synthesis tools to automatically infer meaningful specifications using only execution examples.
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 2b603036-5939-431f-b85c-a23de6ed17b1Cited by top-tier papers6
- Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable ProtocolsTony Nuda Zhang, Keshav Singh, Tej Chajed, Manos Kapritsos et al.OSDI 2025 · 9 citations
- 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
- Inductive Synthesis of Inductive Heap PredicatesZiyi Yang, Ilya SergeyOOPSLA 2025 · 1 citation
- Trace-Guided Synthesis of Effectful Test GeneratorsZhe Zhou, Ankush Desai, Benjamin Delaware, Suresh JagannathanPLDI 2026 · 1 citation
- Inductive Diagrams for Causal ReasoningJonathan Castello, Patrick Redmond, Lindsey KuperOOPSLA 2024
Builds on8
- DistAI: Data-Driven Automated Invariant Learning for Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh et al.OSDI 2021 · 76 citations
- Finding Invariants of Distributed Systems: It's a Small (Enough) World After AllTravis Hance, Marijn Heule, Ruben Martins, Bryan ParnoNSDI 2021 · 69 citations
- Bottom-up synthesis of recursive functional programs using angelic executionAnders Miltner, Adrian Trejo Nuñez, Ana Brendel, Swarat Chaudhuri et al.POPL 2022 · 38 citations
- First-order quantified separatorsJason R. Koenig, Oded Padon, Neil Immerman, Alex AikenPLDI 2020 · 31 citations
- On the Expressive Power of String ConstraintsJoel D. Day, Vijay Ganesh, Nathan Grewal, Florin ManeaPOPL 2023 · 11 citations
Related papers
- Inductive sequentialization of asynchronous programsBernhard Kragl, Constantin Enea, Thomas A. Henzinger, Suha Orhun Mutluergil et al.PLDI 2020 · 26 citations
- Psym: Efficient Symbolic Exploration of Distributed SystemsLauren Pick, Ankush Desai, Aarti GuptaPLDI 2023 · 1 citation
- Mostly Automated Verification of Liveness Properties for Distributed Protocols with Ranking FunctionsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehPOPL 2024 · 12 citations
- Symbolic verification of message passing interface programsHengbiao Yu, Zhenbang Chen, Xianjin Fu, Ji Wang et al.ICSE 2020 · 20 citations
- Specy: Learning Specifications for Distributed Systems from Event TracesMike He, Ankush Desai, Jagarapu Aishwarya, Doug Terry et al.OOPSLA 2026
