Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable Protocols
Tony Nuda Zhang, Keshav Singh, Tej Chajed, Manos Kapritsos, Bryan Parno
摘要
Distributed protocols are challenging to design correctly. One promising approach to improve their reliability is to use formal verification to prove that a protocol satisfies a desired safety property. These proofs require finding an inductive invariant that holds in the initial states of the system, implies safety, and is inductive over state transitions. Devising an inductive invariant is a difficult task that prior work has either required the developer to find manually by a painful search process, or automated by constraining the protocol to a decidable but restrictive fragment of logic.
In this work, we aim to automatically find inductive invariants without restricting the logic. We achieve this with two key insights. First, many of the complex inter-host properties that prior work required the developer to provide can instead be expressed using Provenance Invariants, a class of invariants that relate a local variable in a host to its provenance, i.e., the protocol step that caused it to take on its current value. By tracing the provenance of one host variable back to another host's actions, we can derive an invariant relating the two hosts' states. Second, we develop an algorithm called atomic sharding to derive Provenance Invariants automatically by statically analyzing the protocol's steps.
We implement these ideas in a tool called Basilisk and apply it to 16 distributed protocols, including complex ones like Multi-Paxos. Basilisk automatically finds inductive invariants and proves their inductiveness, with little or no developer assistance. In all cases, these generated inductive invariants are sufficient for us to prove safety without needing to identify any new invariants.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Making Logic a First-Class Citizen in Generative ML for NetworkingHongyu Hè, Minhao Jin, Maria ApostolakiNSDI 2026 · 被引用 5 次
- AutoMan: Facilitating Verified Distributed Systems Development Through Automatic Code Generation and Manual OptimizationsZihao Zhang, Ti Zhou, Christa Jenkins, Omar Chowdhury 等SOSP 2025 · 被引用 2 次
- Verifying a high-performance distributed transaction system using permissioned state machinesYun-Sheng Chang, Joseph Tassarotti, Frans Kaashoek, Nickolai ZeldovichSOSP 2026
- TäKōFormal: Enabling Robust Software for Programmable Memory HierarchiesPranav Srinivasan, Manos Kapritsos, Yatin A. ManerkarISCA 2026
- Specy: Learning Specifications for Distributed Systems from Event TracesMike He, Ankush Desai, Jagarapu Aishwarya, Doug Terry 等OOPSLA 2026
它引用的顶会 Paper10
- DistAI: Data-Driven Automated Invariant Learning for Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh 等OSDI 2021 · 被引用 76 次
- Finding Invariants of Distributed Systems: It's a Small (Enough) World After AllTravis Hance, Marijn Heule, Ruben Martins, Bryan ParnoNSDI 2021 · 被引用 69 次
- Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3James Bornholt, Rajeev Joshi, Vytautas Astrauskas, Brendan Cully 等SOSP 2021 · 被引用 63 次
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma 等OSDI 2024 · 被引用 50 次
- DuoAI: Fast, Automated Inference of Inductive Invariants for Verifying Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehOSDI 2022 · 被引用 50 次
相关 Paper
- I3DP: Neuro-Symbolic Inductive Invariant Inference for Distributed ProtocolsWeining Cao, Guangyuan Wu, Yuan Yao, Hengfeng Wei 等SOSP 2026
- Inductive Invariants That Spark Joy: Using Invariant Taxonomies to Streamline Distributed Protocol ProofsTony Nuda Zhang, Travis Hance, Manos Kapritsos, Tej Chajed 等OSDI 2024 · 被引用 9 次
- Mostly Automated Verification of Liveness Properties for Distributed Protocols with Ranking FunctionsJianan Yao, Runzhou Tao, Ronghui Gu, Jason NiehPOPL 2024 · 被引用 12 次
- Simplifying Safety Proofs with Forward-Backward Reasoning and ProphecyEden Frenkel, Kenneth L. McMillan, Oded Padon, Sharon ShohamPLDI 2026
- Inductive sequentialization of asynchronous programsBernhard Kragl, Constantin Enea, Thomas A. Henzinger, Suha Orhun Mutluergil 等PLDI 2020 · 被引用 26 次
