An Asynchronous Soundness Theorem for Concurrent Separation Logic
Résumé
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 π of a judgment Γ {P }C{Q} defines a winning and asynchronous strategy π_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 L : C_S → C_L from the stateful semantics C_S to the stateless semantics C_L satisfies a basic fibrational property. We advocate that this property provides a clean and conceptual explanation for the usual soundness theorem of CSL, including the absence of data races.
Domaines
Logique en informatique [cs.LO] Informatique et langage [cs.CL] Géométrie algébrique [math.AG] Informatique et théorie des jeux [cs.GT] Logiciel mathématique [cs.MS] Théorie et langage formel [cs.FL] Langage de programmation [cs.PL] Catégories et ensembles [math.CT] Logique [math.LO] Topologie algébrique [math.AT] Algèbres quantiques [math.QA]
Origine : Fichiers produits par l'(les) auteur(s)
Loading...