Litcius/Paper detail

Owicki-Gries Reasoning for C11 RAR

Sadegh Dalvandi, Simon Doherty, Brijesh Dongol, Heike Wehrheim

2020DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)25 citationsDOIOpen Access PDF

Abstract

Owicki-Gries reasoning for concurrent programs uses Hoare logic together with an interference freedom rule for concurrency. In this paper, we develop a new proof calculus for the C11 RAR memory model (a fragment of C11 with both relaxed and release-acquire accesses) that allows all Owicki-Gries proof rules for compound statements, including non-interference, to remain unchanged. Our proof method features novel assertions specifying thread-specific views on the state of programs. This is combined with a set of Hoare logic rules that describe how these assertions are affected by atomic program steps. We demonstrate the utility of our proof calculus by verifying a number of standard C11 litmus tests and Peterson’s algorithm adapted for C11. Our proof calculus and its application to program verification have been fully mechanised in the theorem prover Isabelle.

Topics & Concepts

Automated theorem provingConcurrencyComputer scienceProgramming languageHoare logicCalculus (dental)Proof assistantMathematicsMathematical proofCorrectnessMedicineDentistryGeometryLogic, programming, and type systemsFormal Methods in VerificationDistributed systems and fault tolerance
Owicki-Gries Reasoning for C11 RAR | Litcius