Distributed causal memory: modular specification and verification in higher-order distributed separation logic
Léon Gondelman, Simon Oddershede Gregersen, Abel Nieto, Amin Timany, Lars Birkedal
Abstract
We present the first specification and verification of an implementation of a causally-consistent distributed database that supports modular verification of full functional correctness properties of clients and servers. We specify and reason about the causally-consistent distributed database in Aneris, a higher-order distributed separation logic for an ML-like programming language with network primitives for programming distributed systems. We demonstrate that our specifications are useful, by proving the correctness of small, but tricky, synthetic examples involving causal dependency and by verifying a session manager library implemented on top of the distributed database. We use Aneris's facilities for modular specification and verification to obtain a highly modular development, where each component is verified in isolation, relying only on the specifications (not the implementations) of other components. We have used the Coq formalization of the Aneris logic to formalize all the results presented in the paper in the Coq proof assistant.
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 b293d33f-7399-4086-9c1f-5d3cb7e62a53Cited by top-tier papers5
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek et al.SOSP 2023 · 18 citations
- Modular verification of op-based CRDTs in separation logicAbel Nieto, Léon Gondelman, Alban Reynaud, Amin Timany et al.OOPSLA 2022 · 16 citations
- SandTable: Scalable Distributed System Model Checking with Specification-Level State ExplorationRuize Tang, Xudong Sun, Yu Huang, Yuyang Wei et al.EuroSys 2024 · 8 citations
- A type system for extracting functional specifications from memory-safe imperative programsPaul He, Eddy Westbrook, Brent Carmer, Chris Phifer et al.OOPSLA 2021 · 5 citations
- Inductive Diagrams for Causal ReasoningJonathan Castello, Patrick Redmond, Lindsey KuperOOPSLA 2024
Builds on1
Related papers
- Trillium: Higher-Order Concurrent and Distributed Separation Logic for Intensional RefinementAmin Timany, Simon Oddershede Gregersen, Léo Stefanesco, Jonas Kastberg Hinrichsen et al.POPL 2024 · 14 citations
- Actris: session-type based reasoning in separation logicJonas Kastberg Hinrichsen, Jesper Bengtson, Robbert KrebbersPOPL 2020 · 44 citations
- Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message PassingJules Jacobs, Jonas Kastberg Hinrichsen, Robbert KrebbersPOPL 2024 · 12 citations
- Cryptis: Cryptographic Reasoning in Separation LogicArthur Azevedo de Amorim, Amal Ahmed, Marco GaboardiPOPL 2026 · 1 citation
- Program Logics à la CarteMax Vistrup, Michael Sammler, Ralf JungPOPL 2025 · 4 citations
