Grove: a Separation-Logic Library for Verifying Distributed Systems
Upamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich
Abstract
Grove is a concurrent separation logic library for verifying distributed systems. Grove is the first to handle time-based leases, including their interaction with reconfiguration, crash recovery, thread-level concurrency, and unreliable networks. This paper uses Grove to verify several distributed system components written in Go, including vKV, a realistic distributed multi-threaded key-value store. vKV supports reconfiguration, primary/backup replication, and crash recovery, and uses leases to execute read-only requests on any replica. vKV achieves high performance (67--73% of Redis on a single core), scales with more cores and more backup replicas (achieving about 2× the throughput when going from 1 to 3 servers), and can safely execute reads while reconfiguring.
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.
Cited by top-tier papers17
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma et al.OSDI 2024 · 50 citations
- Verus: A Practical Foundation for Systems VerificationAndrea Lattuada, Travis Hance, Jay Bosamiya, Matthias Brun et al.SOSP 2024 · 22 citations
- LiDO: Linearizable Byzantine Distributed Objects with Refinement-Based Liveness ProofsLongfei Qiu, Yoonseung Kim, Ji-Yong Shin, Jieung Kim et al.PLDI 2024 · 12 citations
- 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
Builds on6
- The future is ours: prophecy variables in separation logicRalf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport et al.POPL 2020 · 62 citations
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung et al.OSDI 2021 · 31 citations
- Sharding the State Machine: Automated Modular Reasoning for Complex Concurrent SystemsTravis Hance, Yi Zhou, Andrea Lattuada, Reto Achermann et al.OSDI 2023 · 18 citations
- Distributed causal memory: modular specification and verification in higher-order distributed separation logicLéon Gondelman, Simon Oddershede Gregersen, Abel Nieto, Amin Timany et al.POPL 2021 · 17 citations
- Verifying vMVCC, a high-performance transaction library using multi-version concurrency controlYun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti et al.OSDI 2023 · 16 citations
Related papers
- Storage Systems are Distributed Systems (So Verify Them That Way!)Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell et al.OSDI 2020 · 52 citations
- Leaf: Modularity for Temporary Sharing in Separation LogicTravis Hance, Jon Howell, Oded Padon, Bryan ParnoOOPSLA 2023 · 3 citations
- FastVer: Making Data Integrity a CommodityArvind Arasu, Badrish Chandramouli, Johannes Gehrke, Esha Ghosh et al.SIGMOD 2021 · 15 citations
- XLL: Cross-Layer Logging for Data Deduplication in Consensus-Based StorageJohn Shawger, Arnav Jhingran, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-DusseauNSDI 2026 · 1 citation
- LeaseGuard: Raft Leases Done RightA. Jesse Jiryu Davis, Murat Demirbas, Lingzhi DengSIGMOD 2026 · 2 citations
