2020
DOI: 10.1145/3428219
|View full text |Cite
|
Sign up to set email alerts
|

Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
5
2
1

Relationship

3
5

Authors

Journals

citations
Cited by 17 publications
(10 citation statements)
references
References 54 publications
0
10
0
Order By: Relevance
“…As such, existing verification techniques for TSO/Px86 sim can be used to reason about such Ex86/PEx86 programs, e.g. the program logics of OGRA [Lahav and Vafeiadis 2015] and POG [Raad et al 2020a], as well as the model checkers Nidhugg [Abdulla et al 2015a] and GenMC [Kokologiannakis et al 2019b]. Moreover, the full Ex86/PEx86 models (including non-temporal writes and all memory types) both meet the conditions stipulated by GenMC; as such, the Ex86 (resp.…”
Section: Concurrent Persistency Examplesmentioning
confidence: 99%
See 1 more Smart Citation
“…As such, existing verification techniques for TSO/Px86 sim can be used to reason about such Ex86/PEx86 programs, e.g. the program logics of OGRA [Lahav and Vafeiadis 2015] and POG [Raad et al 2020a], as well as the model checkers Nidhugg [Abdulla et al 2015a] and GenMC [Kokologiannakis et al 2019b]. Moreover, the full Ex86/PEx86 models (including non-temporal writes and all memory types) both meet the conditions stipulated by GenMC; as such, the Ex86 (resp.…”
Section: Concurrent Persistency Examplesmentioning
confidence: 99%
“…This can be achieved when the processor under test is a component of a system-on-chip (SoC) FPGA [Jain et al 2018]. Lastly, we will develop verification techniques for Ex86 and PEx86, including program logics such as those of [Dalvandi et al 2020;Vafeiadis 2016, 2017;Kaiser et al 2017;Raad et al 2020a;Turon et al 2014;Vafeiadis and Narayan 2013], and stateless model checking [Kokologiannakis et al 2021[Kokologiannakis et al , 2019aKokologiannakis and Vafeiadis 2020]. The latter would allow us to verify an Ex86/PEx86 program by exhaustively generating its executions and inspecting them for consistency/persistency violations.…”
Section: Related and Future Workmentioning
confidence: 99%
“…We believe that our framework has a great potential to lower the high cost of crash consistency verification because its stable nature unifies code for normal and recovery executions. We will realize our framework's potential for lower-cost crash consistency verification by (1) designing a separation logic for PM by recasting the idea of a rely-guarantee logic for PM [49] in the Iris separation logic framework [4] on top of the Coq proof assistant [2]; (2) designing reasoning principles for detectable operations with mementos in the proposed separation logic; and (3) verifying detectable DSs.…”
Section: Future Workmentioning
confidence: 99%
“…Such methods may include automated checking by approximation [7], layered interactive verification in the style of [18,25], and formal logics as the one in [24]. Similarly, developing formal methods and tools that allow using library specifications for client reasoning it is left for future work, including decidable reachability analysis [2], program logics [27], and principled testing [13]. Proof.…”
Section: A Buffered Durable Pairmentioning
confidence: 99%