Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory
-
Published:2023-10-16
Issue:OOPSLA2
Volume:7
Page:632-657
-
ISSN:2475-1421
-
Container-title:Proceedings of the ACM on Programming Languages
-
language:en
-
Short-container-title:Proc. ACM Program. Lang.
Author:
Vindum Simon Friis1ORCID,
Birkedal Lars1ORCID
Affiliation:
1. Aarhus University, Aarhus, Denmark
Abstract
Weak persistent memory (a.k.a. non-volatile memory) is an emerging technology that offers fast byte-addressable 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 high-level modular reasoning about crash-safe and thread-safe 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 thread-safety and crash-safety of non-blocking durable data structures with null-recovery,
in particular the Treiber stack and the Michael-Scott queue adapted to persistent memory.
This is the first time durable data structures have been verified with a program logic.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference35 articles.
1. View-Based Owicki–Gries Reasoning for Persistent x86-TSO
2. Lars Birkedal and Aleš Bizjak. 2020. Lecture Notes on Iris: Higher-Order Concurrent Separation Logic. https://iris-project.org/tutorial-material.html Lars Birkedal and Aleš Bizjak. 2020. Lecture Notes on Iris: Higher-Order Concurrent Separation Logic. https://iris-project.org/tutorial-material.html
3. Understanding and optimizing persistent memory allocation
4. Tej Chajed . 2022. Verifying a concurrent, crash-safe file system with sequential reasoning. Ph. D. Dissertation . Machetutes Institute of Technology . Tej Chajed. 2022. Verifying a concurrent, crash-safe file system with sequential reasoning. Ph. D. Dissertation. Machetutes Institute of Technology.