Compositionality and Observational Refinement for Linearizability with Crashes
Arthur Oliveira Vale, Zhongye Wang, Yixuan Chen, Peixin You, Zhong Shao
摘要
Crash-safety is an important property of real systems, as the main functionality of some systems is resilience to crashes. Toward a compositional verification approach for crash-safety under full-system crashes, one observes that crashes propagate instantaneously to all components across all levels of abstraction, even to unspecified components, hindering compositionality. Furthermore, in the presence of concurrency, a correctness criterion that addresses both crashes and concurrency proves necessary. For this, several adaptations of linearizability have been suggested, each featuring different trade-offs between complexity and expressiveness. The recently proposed compositional linearizability framework shows that to achieve compositionality with linearizability, both a locality and observational refinement property are necessary. Despite that, no linearizability criterion with crashes has been proven to support an observational refinement property. In this paper, we define a compositional model of concurrent computation with full-system crashes. We use this model to develop a compositional theory of linearizability with crashes, which reveals a criterion, crash-aware linearizability , as its inherent notion of linearizability and supports both locality and observational refinement. We then show that strict linearizability and durable linearizability factor through crash-aware linearizability as two different ways of translating between concurrent computation with and without crashes, enabling simple proofs of locality and observational refinement for a generalization of these two criteria. Then, we show how the theory can be connected with a program logic for durable and crash-aware linearizability, which gives the first program logic that verifies a form of linearizability with crashes. We showcase the advantages of compositionality by verifying a library facilitating programming persistent data structures and a fragment of a transactional interface for a file system.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper7
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 被引用 61 次
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung 等OSDI 2021 · 被引用 31 次
- FliT: a library for simple and efficient persistent algorithmsYuanhao Wei, Naama Ben-David, Michal Friedman, Guy E. Blelloch 等PPoPP 2022 · 被引用 19 次
- Refinement-Based Game Semantics for Certified Abstraction LayersJérémie Koenig, Zhong ShaoLICS 2020 · 被引用 17 次
- Layered and object-based game semanticsArthur Oliveira Vale, Paul-André Melliès, Zhong Shao, Jérémie Koenig 等POPL 2022 · 被引用 9 次
相关 Paper
- The Path to Durable LinearizabilityEmanuele D'Osualdo, Azalea Raad, Viktor VafeiadisPOPL 2023 · 被引用 6 次
- A Compositional Theory of LinearizabilityArthur Oliveira Vale, Zhong Shao, Yixuan ChenPOPL 2023 · 被引用 7 次
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 被引用 4 次
- C4: verified transactional objectsMohsen Lesani, Li-yao Xia, Anders Kaseorg, Christian J. Bell 等OOPSLA 2022 · 被引用 27 次
- Proof Automation for Linearizability in Separation LogicIke Mulder, Robbert KrebbersOOPSLA 2023 · 被引用 8 次
