paper

An Asynchronous soundness theorem for concurrent separation logic

arXiv:1807.08117

Abstract

Concurrent separation logic (CSL) is a specification logic for concurrent imperative programs with shared memory and locks. In this paper, we develop a concurrent and interactive account of the logic inspired by asynchronous game semantics. To every program , we associate a pair of asynchronous transition systems and which describe the operational behavior of the Code when confronted to its Environment or Frame --- both at the level of machine states () and of machine instructions and locks (). We then establish that every derivation tree of a judgment defines a winning and asynchronous strategy with respect to both asynchronous semantics and . From this, we deduce an asynchronous soundness theorem for CSL, which states that the canonical map from the stateful semantics to the stateless semantics satisfies a basic fibrational property. We advocate that this provides a clean and conceptual explanation for the usual soundness theorem of CSL, including the absence of data races.

Full version of an extended abstract published at LICS 2018

An Asynchronous soundness theorem for concurrent separation logic · wovepaper