Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory #215

Merged
merged 2 commits into from
Oct 18, 2024

Conversation

github-actions[bot]
Copy link
Contributor

This paper was randomly selected as your next reading.

Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory

Weak persistent memory a.k.a. nonvolatile memory is an emerging technology that offers fast byteaddressable durable main memory. A wealth of algorithms and libraries has been developed to explore this exciting technology. As noted by others, this has led to a significant verification gap. Towards closing this gap, we present Spirea, the first concurrent separation logic for verification of programs under a weak persistent memory model. Spirea is based on the Iris and Perennial verification frameworks, and by combining features from these logics with novel techniques it supports highlevel modular reasoning about crashsafe and threadsafe programs and libraries. Spirea is fully mechanized in the Coq proof assistant and allows for interactive development of proofs with the Iris Proof Mode. We use Spirea to verify several challenging examples with modular specifications. We show how our logic can verify threadsafety and crashsafety of nonblocking durable data structures with nullrecovery, in particular the Treiber stack and the MichaelScott queue adapted to persistent memory. This is the first time durable data structures have been verified with a program logic.

Vindum, Simon Friis, and Lars Birkedal. “Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory. Proceedings of the ACM on Programming Languages, vol. 7, no. OOPSLA2, Oct. 2023, pp. 63257. Crossref, https://doi.org/10.1145/3622820.

Merge this PR to apply selection.

@github-actions github-actions bot added next-paper paper-vote next paper vote option labels Sep 25, 2024
@phanukaev phanukaev merged commit 8b945d5 into main Oct 18, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next-paper paper-vote next paper vote option
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant