An Asynchronous Soundness Theorem for Concurrent Separation Logic

被引:2
|
作者
Mellies, Paul-Andre [1 ,2 ]
Stefanesco, Leo [3 ,4 ]
机构
[1] CNRS, IRIF, Paris, France
[2] Univ Paris Diderot, Paris, France
[3] Univ Paris Diderot, IRIF, Paris, France
[4] CNRS, Paris, France
关键词
concurrent separation logic; asynchronous machine models; asynchronous game semantics; data races; stateful-to-stateless;
D O I
10.1145/3209108.3209116
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 proves {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 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 provides a clean and conceptual explanation for the usual soundness theorem of CSL, including the absence of data races.
引用
收藏
页码:699 / 708
页数:10
相关论文
共 50 条
  • [31] Reasoning over Permissions Regions in Concurrent Separation Logic
    Brotherston, James
    Costa, Diana
    Hobor, Aquinas
    Wickerson, John
    COMPUTER AIDED VERIFICATION, PT II, 2020, 12225 : 203 - 224
  • [32] Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations
    Nanevski, Aleksandar
    Banerjee, Anindya
    Delbianco, German Andres
    Fabregas, Ignacio
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):
  • [33] Asynchronous Probabilistic Couplings in Higher-Order Separation Logic
    Gregersen, Simon Oddershede
    Aguirre, Alejandro
    Haselwarter, Philipp G.
    Tassarotti, Joseph
    Birkedal, Lars
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [34] Formalizing and Verifying Decentralized Systems with Extended Concurrent Separation Logic
    Ding, Yepeng
    Sato, Hiroyuki
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2020, PT I, 2020, 12452 : 480 - 494
  • [35] Interactive Proofs in Higher-Order Concurrent Separation Logic
    Krebbers, Robbert
    Timany, Amin
    Birkedal, Lars
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 205 - 217
  • [36] Modular Verification of Safe Memory Reclamation in Concurrent Separation Logic
    Jung, Jaehwang
    Lee, Janggun
    Choi, Jaemin
    Kim, Jaewoo
    Park, Sunho
    Kang, Jeehoon
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [37] Decidable entailment checking for concurrent separation logic with fractional permissions
    Lee Y.
    Nakazawa K.
    Computer Software, 2023, 40 (04) : 67 - 86
  • [38] Simuliris: A Separation Logic Framework for Verifying Concurrent Program Optimizations
    Gaeher, Lennard
    Sammler, Michael
    Spies, Simon
    Jung, Ralf
    Dang, Hoang-Hai
    Krebbers, Robbert
    Kang, Jeehoon
    Dreyer, Derek
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (POPL):
  • [39] Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory
    Vindum, Simon Friis
    Birkedal, Lars
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [40] Soundness and Completeness of the NRB Verification Logic
    Breuer, Peter T.
    Pickin, Simon J.
    SOFTWARE ENGINEERING AND FORMAL METHODS, 2014, 8368 : 389 - 404