arXiv · 2111.03881
Abstraction for Crash-Resilient Objects (Extended Version)
Abstract
We study abstraction for crash-resilient concurrent objects using non-volatile memory (NVM). We develop a library correctness criterion that is sound for ensuring contextual refinement in this setting, thus allowing clients to reason about library behaviors in terms of their abstract specifications, and library developers to verify their implementations against the specifications abstracting away from particular client programs. As a semantic foundation we employ a recent NVM model, called Persistent Sequential Consistency, and extend its language and operational semantics with useful specification constructs. The proposed correctness criterion accounts for NVM-related interactions between client and library code due to explicit persist instructions, and for calling policies enforced by libraries. We illustrate our approach on two implementations and specifications of simple persistent objects with different prototypical durability guarantees. Our results provide the first approach to formal compositional reasoning under NVM.
Explore related subjects
Keep this discovery
Artem Khyzha, Ori Lahav. 2021-11-06. Abstraction for Crash-Resilient Objects (Extended Version). https://arxiv.org/abs/2111.03881
Cite the original work for its findings. Save a collection to share your selection of sources.