Hoare-Style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Designing efficient concurrent objects often requires abandoning the standard specification technique of linearizability in favor of more relaxed correctness conditions. However, the variety of alternatives makes it difficult to choose which condition to employ, and how to compose them when using objects specified by different conditions.
In this work, we propose a uniform alternative in the form of Hoare logic, which can explicitly capture–in the auxiliary state–the interference of environment threads. We demonstrate the expressiveness of our method by verifying a number of concurrent objects and their clients, which have so far been specified only by non-standard conditions of concurrency-aware linearizability, quiescent, and quantitative quiescent consistency. We report on the implementation of the ideas in an existing Coq-based tool, providing the first mechanized proofs for all the examples in the paper.
Slides in PDF (2016-OOPSLA-Sergey-al.pdf) | 909KiB |
Wed 2 NovDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | Semantics and VerificationOOPSLA at Matterhorn 2 Chair(s): Jonathan Aldrich Carnegie Mellon University | ||
10:30 25mTalk | Semantics-Based Program Verifiers for All Languages OOPSLA Andrei Stefanescu University of Illinois at Urbana-Champaign, Daejun Park University of Illinois at Urbana-Champaign, Shijiao Yuwen University of Illinois at Urbana-Champaign, Yilong Li Runtime Verification, Inc., Grigore Roşu University of Illinois at Urbana-Champaign DOI Media Attached | ||
10:55 25mTalk | Hoare-Style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects OOPSLA Ilya Sergey University College London, Aleksandar Nanevski IMDEA Software Institute, Anindya Banerjee IMDEA Software Institute, Germán Andrés Delbianco IMDEA Software Institute DOI Pre-print Media Attached File Attached | ||
11:20 25mTalk | An Operational Semantics for C/C++11 Concurrency OOPSLA Kyndylan Nienhuis University of Cambridge, Kayvan Memarian University of Cambridge, Peter Sewell University of Cambridge DOI | ||
11:45 25mTalk | Modeling and Analysis of Remote Memory Access Programming OOPSLA Andrei Marian Dan ETH Zurich, Patrick Lam University of Waterloo, Canada, Torsten Hoefler ETH Zurich, Martin Vechev ETH Zurich DOI Pre-print Media Attached |