TY - GEN
T1 - Strong logic for weak memory
T2 - 31st European Conference on Object-Oriented Programming, ECOOP 2017
AU - Kaiser, Jan Oliver
AU - Dang, Hoang Hai
AU - Dreyer, Derek
AU - Lahav, Ori
AU - Vafeiadis, Viktor
N1 - Funding Information: ∗ An extended version of this paper with a technical appendix can be found at [1]. † This research was supported in part by a European Research Council (ERC) Consolidator Grant for the project “RustBelt”, funded under the European Union’s Horizon 2020 Framework Programme (grant agreement no. 683289). ‡ Saarland Informatics Campus.
PY - 2017/6/1
Y1 - 2017/6/1
N2 - The field of concurrent separation logics (CSLs) has recently undergone two exciting developments: (1) the Iris framework for encoding and unifying advanced higher-order CSLs and formalizing them in Coq, and (2) the adaptation of CSLs to account for weak memory models, notably C11's release-acquire (RA) consistency. Unfortunately, these developments are seemingly incompatible, since Iris only applies to languages with an operational interleaving semantics, while C11 is defined by a declarative (axiomatic) semantics. In this paper, we show that, on the contrary, it is not only feasible but useful to marry these developments together. Our first step is to provide a novel operational characterization of RA+NA, the fragment of C11 containing RA accesses and "non-atomic" (normal data) accesses. Instantiating Iris with this semantics, we then derive higher-order variants of two prominent RA+NA logics, GPS and RSL. Finally, we deploy these derived logics in order to perform the first mechanical verifications (in Coq) of several interesting case studies of RA+NA programming. In a nutshell, we provide the first foundationally verified framework for proving programs correct under C11's weak-memory semantics.
AB - The field of concurrent separation logics (CSLs) has recently undergone two exciting developments: (1) the Iris framework for encoding and unifying advanced higher-order CSLs and formalizing them in Coq, and (2) the adaptation of CSLs to account for weak memory models, notably C11's release-acquire (RA) consistency. Unfortunately, these developments are seemingly incompatible, since Iris only applies to languages with an operational interleaving semantics, while C11 is defined by a declarative (axiomatic) semantics. In this paper, we show that, on the contrary, it is not only feasible but useful to marry these developments together. Our first step is to provide a novel operational characterization of RA+NA, the fragment of C11 containing RA accesses and "non-atomic" (normal data) accesses. Instantiating Iris with this semantics, we then derive higher-order variants of two prominent RA+NA logics, GPS and RSL. Finally, we deploy these derived logics in order to perform the first mechanical verifications (in Coq) of several interesting case studies of RA+NA programming. In a nutshell, we provide the first foundationally verified framework for proving programs correct under C11's weak-memory semantics.
KW - Concurrency
KW - Release-acquire
KW - Separation logic
KW - Weak memory models
UR - http://www.scopus.com/inward/record.url?scp=85037808502&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.ECOOP.2017.17
DO - 10.4230/LIPIcs.ECOOP.2017.17
M3 - منشور من مؤتمر
T3 - Leibniz International Proceedings in Informatics, LIPIcs
SP - 171
EP - 1729
BT - 31st European Conference on Object-Oriented Programming, ECOOP 2017
A2 - Muller, Peter
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Y2 - 18 June 2017 through 23 June 2017
ER -