DeepAI
Log In Sign Up

Trillium: Unifying Refinement and Higher-Order Distributed Separation Logic

09/16/2021
by   Amin Timany, et al.
0

We present a unification of refinement and Hoare-style reasoning in a foundational mechanized higher-order distributed separation logic. This unification enables us to prove formally in the Coq proof assistant that concrete implementations of challenging distributed systems refine more abstract models and to combine refinement-style reasoning with Hoare-style program verification. We use our logic to prove correctness of concrete implementations of two-phase commit and single-decree Paxos by showing that they refine their abstract TLA+ specifications. We further use our notion of refinement to transfer fairness assumptions on program executions to model traces and then transfer liveness properties of fair model traces back to program executions, which enables us to prove liveness properties such as strong eventual consistency of a concrete implementation of a Conflict-Free Replicated Data Type and fair termination of a concurrent program.

READ FULL TEXT
09/07/2021

Abstraction Logic: The Marriage of Contextual Refinement and Separation Logic

Contextual refinement and separation logics are successful verification ...
10/26/2021

Flexible Refinement Proofs in Separation Logic

Refinement transforms an abstract system model into a concrete, executab...
10/17/2022

Contextuality in distributed systems

We present a lattice of distributed program specifications, whose orderi...
03/14/2022

Conditional Contextual Refinement (CCR)

Contextual refinement (CR) is one of the standard notions of specifying ...
04/09/2019

Reasoning about Block-based Cloud Storage Systems

Owing to the massive growth in the storage demands of big data, Cloud St...
10/09/2020

Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification

Lighthouse projects such as CompCert, seL4, IronFleet, and DeepSpec have...
05/28/2019

Putting Strong Linearizability in Context: Preserving Hyperproperties in Programs that Use Concurrent Objects

It has been observed that linearizability, the prevalent consistency con...