English

An Asynchronous soundness theorem for concurrent separation logic

Programming Languages 2018-07-24 v1 Logic in Computer Science

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 CC, we associate a pair of asynchronous transition systems [C]S[C]_S and [C]L[C]_L which describe the operational behavior of the Code when confronted to its Environment or Frame --- both at the level of machine states (SS) and of machine instructions and locks (LL). We then establish that every derivation tree π\pi of a judgment Γ{P}C{Q}\Gamma\vdash\{P\}C\{Q\} defines a winning and asynchronous strategy [π]Sep[\pi]_{Sep} with respect to both asynchronous semantics [C]S[C]_S and [C]L[C]_L. From this, we deduce an asynchronous soundness theorem for CSL, which states that the canonical map L:[C]S[C]L\mathcal{L}:[C]_S\to[C]_L from the stateful semantics [C]S[C]_S to the stateless semantics [C]L[C]_L 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.

Keywords

Cite

@article{arxiv.1807.08117,
  title  = {An Asynchronous soundness theorem for concurrent separation logic},
  author = {Paul-André Melliès and Léo Stefanesco},
  journal= {arXiv preprint arXiv:1807.08117},
  year   = {2018}
}

Comments

Full version of an extended abstract published at LICS 2018

R2 v1 2026-06-23T03:09:22.511Z