Owicki-Gries Reasoning for Weak Memory Models
- Cite this paper as:
- Lahav O., Vafeiadis V. (2015) Owicki-Gries Reasoning for Weak Memory Models. In: Halldórsson M., Iwama K., Kobayashi N., Speckmann B. (eds) Automata, Languages, and Programming. ICALP 2015. Lecture Notes in Computer Science, vol 9135. Springer, Berlin, Heidelberg
We show that even in the absence of auxiliary variables, the well-known Owicki-Gries method for verifying concurrent programs is unsound for weak memory models. By strengthening its non-interference check, however, we obtain OGRA, a program logic that is sound for reasoning about programs in the release-acquire fragment of the C11 memory model. We demonstrate the usefulness of this logic by applying it to several challenging examples, ranging from small litmus tests to an implementation of the RCU synchronization primitives.
Unable to display preview. Download preview PDF.