Verifying C11 programs operationally

Simon Doherty,Brijesh Dongol,Heike Wehrheim,John Derrick
DOI: https://doi.org/10.1145/3293883.3295702
2019-02-16
Abstract:This paper develops an operational semantics for a release-acquire fragment of the C11 memory model with relaxed accesses. We show that the semantics is both sound and complete with respect to the axiomatic model of Batty et al. The semantics relies on a per-thread notion of observability, which allows one to reason about a weak memory C11 program in program order. On top of this, we develop a proof calculus for invariant-based reasoning, which we use to verify the release-acquire version of Peterson's mutual exclusion algorithm.
What problem does this paper attempt to address?