Context-Aware Separation Logic
Roland Meyer, Thomas Wies, Sebastian Wolff

TL;DR
This paper introduces context-aware separation logic (Co(Co)SL) that enhances local reasoning about concurrent programs with rich ghost state abstractions by using contexts to reduce reasoning footprint.
Contribution
It proposes a new proof rule based on contexts that complements the frame rule, enabling more precise local reasoning in concurrent separation logic.
Findings
Successfully verified concurrent binary search trees
Implemented in a proof checker for practical use
Applied to heap graph manipulation in the flow framework
Abstract
Separation logic is often praised for its ability to closely mimic the locality of state updates when reasoning about them at the level of assertions. The prover only needs to concern themselves with the footprint of the computation at hand, i.e., the part of the state that is actually being accessed and manipulated. Modern concurrent separation logics lift this local reasoning principle from the physical state to abstract ghost state. For instance, these logics allow one to abstract the state of a fine-grained concurrent data structure by a predicate that provides a client the illusion of atomic access to the underlying state. However, these abstractions inadvertently increase the footprint of a computation: when reasoning about a local low-level state update, one needs to account for its effect on the abstraction, which encompasses a possibly unbounded portion of the low-level state.…
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.
Taxonomy
TopicsDistributed systems and fault tolerance · Logic, Reasoning, and Knowledge · Advanced Database Systems and Queries
