Verifying C11 Programs Operationally

11/22/2018
by   Simon Doherty, et al.
0

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. 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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset