Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification
Christoph Sprenger, Tobias Klenze, Marco Eilers, Felix A., Wolf, Peter M\"uller, Martin Clochard, David Basin

TL;DR
Igloo introduces a formal framework that combines compositional refinement of distributed system models with expressive separation logic verification of actual code, enabling sound, full-system verification.
Contribution
It presents a novel methodology and formal framework that relate event-based models to program code in separation logic, facilitating comprehensive distributed system verification.
Findings
Successfully verified leader election, replication, and security protocols.
Refined formal requirements into executable code in Java and Python.
Integrated protocol development tools with existing program verifiers.
Abstract
Lighthouse projects such as CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full verification of entire systems is feasible by establishing a refinement relation between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on either the abstract system specifications due to their limited expressiveness or versatility, or on the executable code due to their reliance on suboptimal code extraction or inexpressive program logics. We propose a novel methodology that combines the compositional refinement of abstract, event-based models of distributed systems with the verification of full-fledged program code using expressive separation logics, which support features of realistic programming languages like mutable heap data structures and concurrency. The main technical contribution of our work is a formal…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
