@inproceedings{e6f55c38bc104ca194576e47441b4646,
title = "Decidable verification under a causally consistent shared memory",
abstract = "Causal consistency is one of the most fundamental and widely used consistency models weaker than sequential consistency. In this paper, we study the verification of safety properties for finite-state concurrent programs running under a causally consistent shared memory model. We establish the decidability of this problem for a standard model of causal consistency (called also {"}Causal Convergence{"} and {"}Strong-Release-Acquire{"}). Our proof proceeds by developing an alternative operational semantics, based on the notion of a thread potential, that is equivalent to the existing declarative semantics and constitutes a well-structured transition system. In particular, our result allows for the verification of a large family of programs in the Release/Acquire fragment of C/C++11 (RA). Indeed, while verification under RA was recently shown to be undecidable for general programs, since RA coincides with the model we study here for write/write-race-free programs, the decidability of verification under RA for this widely used class of programs follows from our result. The novel operational semantics may also be of independent use in the investigation of weakly consistent shared memory models and their verification.",
keywords = "Causal consistency, Concurrency, Decidability, Release/acquire, Shared-memory, Verification, Weak memory models, Well-structured transition systems",
author = "Ori Lahav and Udi Boker",
note = "Publisher Copyright: {\textcopyright} 2020 ACM.; null ; Conference date: 15-06-2020 Through 20-06-2020",
year = "2020",
month = jun,
day = "11",
doi = "10.1145/3385412.3385966",
language = "אנגלית",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "211--226",
editor = "Donaldson, {Alastair F.} and Emina Torlak",
booktitle = "PLDI 2020 - Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation",
}