Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86
Azalea Raad, Ori Lahav, Viktor Vafeiadis
Abstract
The advent of non-volatile memory (NVM) technologies is expected to transform how software systems are structured fundamentally, making the task of correct programming significantly harder. This is because ensuring that memory stores persist in the correct order is challenging, and requires low-level programming to flush the cache at appropriate points. This has in turn resulted in a noticeable verification gap.
To address this, we study the verification of NVM programs, and present Persistent Owicki-Gries (POG), the first program logic for reasoning about such programs. We prove the soundness of POG over the recent Intel-x86 model, which formalises the out-of-order persistence of memory stores and the semantics of the Intel cache line flush instructions. We then use POG to verify several programs that interact with NVM.
CCS Concepts: • Theory of computation → Concurrency; Semantics and reasoning; • Software and its engineering → General programming languages.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers7
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung et al.OSDI 2021 · 31 citations
- Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal storesAzalea Raad, Luc Maranget, Viktor VafeiadisPOPL 2022 · 24 citations
- Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO ArchitecturesGuillaume Ambal, Brijesh Dongol, Haggai Eran, Vasileios Klimis et al.OOPSLA 2024 · 11 citations
- Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent MemorySimon Friis Vindum, Lars BirkedalOOPSLA 2023 · 6 citations
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 4 citations
Builds on2
Related papers
- Taming x86-TSO persistencyArtem Khyzha, Ori LahavPOPL 2021 · 26 citations
- Revamping hardware persistency models: view-based and axiomatic persistency models for Intel-x86 and Armv8Kyeongmin Cho, Sung-Hwan Lee, Azalea Raad, Jeehoon KangPLDI 2021 · 24 citations
- Robustness Verification for Checking Crash Consistency of Non-volatile MemoryZhilei Han, Fei HeASPLOS 2025 · 1 citation
- Understanding and detecting deep memory persistency bugs in NVM programs with DeepMCBenjamin Reidys, Jian HuangPPoPP 2022 · 4 citations
- BBB: Simplifying Persistent Programming using Battery-Backed BuffersMohammad A. Alshboul, Prakash Ramrakhyani, William Wang, James Tuck et al.HPCA 2021 · 34 citations
