Back to Search Start Over

An Asynchronous Soundness Theorem for Concurrent Separation Logic

Authors :
Paul-André Melliès
Léo Stefanesco
Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243))
Université Paris Diderot - Paris 7 (UPD7)-Centre National de la Recherche Scientifique (CNRS)
École normale supérieure - Lyon (ENS Lyon)
Melliès, Paul-André
École normale supérieure de Lyon (ENS de Lyon)
Source :
Proceedings of the Thirty third Annual IEEE Symposium on Logic in Computer Science (LICS 2018), Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2018), Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2018), Jul 2018, Oxford, United Kingdom, LICS, HAL
Publication Year :
2018
Publisher :
HAL CCSD, 2018.

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

Subjects

Subjects :
Computer Science - Logic in Computer Science
[INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO]
Game semantics
Semantics (computer science)
Computer science
[MATH.MATH-AT] Mathematics [math]/Algebraic Topology [math.AT]
0102 computer and information sciences
02 engineering and technology
Separation logic
01 natural sciences
[INFO.INFO-CL]Computer Science [cs]/Computation and Language [cs.CL]
Tree (descriptive set theory)
[INFO.INFO-FL]Computer Science [cs]/Formal Languages and Automata Theory [cs.FL]
0202 electrical engineering, electronic engineering, information engineering
Canonical map
[INFO.INFO-FL] Computer Science [cs]/Formal Languages and Automata Theory [cs.FL]
[INFO.INFO-MS]Computer Science [cs]/Mathematical Software [cs.MS]
[MATH.MATH-CT]Mathematics [math]/Category Theory [math.CT]
Soundness
Discrete mathematics
[MATH.MATH-QA] Mathematics [math]/Quantum Algebra [math.QA]
Computer Science - Programming Languages
[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]
[INFO.INFO-GT]Computer Science [cs]/Computer Science and Game Theory [cs.GT]
[MATH.MATH-AG] Mathematics [math]/Algebraic Geometry [math.AG]
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
020207 software engineering
16. Peace & justice
[MATH.MATH-CT] Mathematics [math]/Category Theory [math.CT]
[INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL]
[MATH.MATH-LO]Mathematics [math]/Logic [math.LO]
[INFO.INFO-MS] Computer Science [cs]/Mathematical Software [cs.MS]
Shared memory
[INFO.INFO-CL] Computer Science [cs]/Computation and Language [cs.CL]
010201 computation theory & mathematics
Asynchronous communication
[MATH.MATH-AT]Mathematics [math]/Algebraic Topology [math.AT]
[INFO.INFO-GT] Computer Science [cs]/Computer Science and Game Theory [cs.GT]
[MATH.MATH-QA]Mathematics [math]/Quantum Algebra [math.QA]
F.3.2
[MATH.MATH-LO] Mathematics [math]/Logic [math.LO]
[MATH.MATH-AG]Mathematics [math]/Algebraic Geometry [math.AG]
F.3.1

Details

Language :
English
Database :
OpenAIRE
Journal :
Proceedings of the Thirty third Annual IEEE Symposium on Logic in Computer Science (LICS 2018), Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2018), Thirty-Third Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2018), Jul 2018, Oxford, United Kingdom, LICS, HAL
Accession number :
edsair.doi.dedup.....d7cd8352cdba9e1ccb66b377ea529088