Oracle semantics for concurrent separation logic

被引:0
|
作者
Hobor, Aquinas [1 ]
Appel, Andrew W. [1 ]
Nardelli, Francesco Zappa [2 ]
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
[2] INRIA, Paris, France
来源
PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS | 2008年 / 4960卷
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We define (with machine-checked proofs in Coq) a modular operational semantics for Concurrent C minor-a language with shared memory, spawnable threads, and first-class locks. By modular we mean that one can reason about sequential control and dataflow knowing almost nothing about concurrency, and one can reason about concurrency knowing almost nothing about sequential control and data-flow constructs. We present a Concurrent Separation Logic with first-class locks and threads, and prove its soundness with respect to the operational semantics. Using our modularity principle, we proved the sequential C.S.L. rules (those inherited from sequential Separation Logic) simply by adapting Appel & Blazy's machine-checked soundness proofs. Our Concurrent C minor operational semantics is designed to connect to Leroy's optimizing (sequential) C minor compiler; we propose our modular semantics as a way to adapt Leroy's compiler-correctness proofs to the concurrent setting. Thus we will obtain end-to-end proofs: the properties you prove in Concurrent Separation Logic will be true of the program that actually executes on the machine.
引用
收藏
页码:353 / +
页数:2
相关论文
共 50 条
  • [21] A Separation Logic for Refining Concurrent Objects
    Turon, Aaron
    Wand, Mitchell
    POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 247 - 258
  • [22] A Separation Logic for Concurrent Randomized Programs
    Tassarotti, Joseph
    Harper, Robert
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [23] A Separation Logic for Refining Concurrent Objects
    Turon, Aaron
    Wand, Mitchell
    ACM SIGPLAN NOTICES, 2011, 46 (01) : 247 - 258
  • [24] SECCSL: Security Concurrent Separation Logic
    Ernst, Gidon
    Murray, Toby
    COMPUTER AIDED VERIFICATION, CAV 2019, PT II, 2019, 11562 : 208 - 230
  • [25] A Semantics for Concurrent Logic Programming Languages Based on Multiple-Valued Logic
    Ben-Jacob, Marion Glazerman
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2012, 3 (10) : 11 - 16
  • [26] On the relation between Concurrent Separation Logic and Concurrent Kleene Algebra
    O'Hearn, Peter W.
    Petersen, Rasmus L.
    Villard, Jules
    Hussain, Akbar
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2015, 84 (03) : 285 - 302
  • [28] An Asynchronous Soundness Theorem for Concurrent Separation Logic
    Mellies, Paul-Andre
    Stefanesco, Leo
    LICS'18: PROCEEDINGS OF THE 33RD ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, 2018, : 699 - 708
  • [29] Cosmo: A Concurrent Separation Logic for Multicore OCaml
    Mevel, Glen
    Jourdan, Jacques-Henri
    Pottier, Francois
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (ICFP):
  • [30] Concurrent Separation Logic Meets Template Games
    Mellies, Paul-Andre
    Stefanesco, Leo
    PROCEEDINGS OF THE 35TH ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS 2020), 2020, : 742 - 755