International Colloquium on Automata, Languages, and Programming

ICALP 2015: Automata, Languages, and Programming pp 311-323

Owicki-Gries Reasoning for Weak Memory Models

Conference paper

DOI: 10.1007/978-3-662-47666-6_25

Volume 9135 of the book series Lecture Notes in Computer Science (LNCS)
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

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Max Planck Institute for Software Systems (MPI-SWS)KaiserslauternGermany