Theorems for Free from Separation Logic Specifications

被引:9
|
作者
Birkedal, Lars [1 ]
Dinsdale-Young, Thomas [2 ]
Gueneau, Armael [1 ]
Jaber, Guilhem [3 ]
Svendsen, Kasper [4 ]
Tzevelekos, Nikos [5 ]
机构
[1] Aarhus Univ, Aarhus, Denmark
[2] Concordium, Copenhagen, Denmark
[3] Univ Nantes, Nantes, France
[4] Uber, Copenhagen, Denmark
[5] Queen Mary Univ London, London, England
基金
英国工程与自然科学研究理事会;
关键词
Separation Logic; Program Specifications; Linearizability; Iris; LANGUAGE;
D O I
10.1145/3473586
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Separation logic specifications with abstract predicates intuitively enforce a discipline that constrains when and how calls may be made between a client and a library. Thus a separation logic specification of a library intuitively enforces a protocol on the trace of interactions between a client and the library. We show how to formalize this intuition and demonstrate how to derive "free theoremsz about such interaction traces from abstract separation logic specifications. We present several examples of free theorems. In particular, we prove that a so-called logically atomic concurrent separation logic specification of a concurrent module operation implies that the operation is linearizable. All the results presented in this paper have been mechanized and formally proved in the Coq proof assistant using the Iris higher-order concurrent separation logic framework.
引用
收藏
页数:29
相关论文
共 50 条
  • [1] Verification of protocol specifications with separation logic
    Kiss, Tibor
    Craciun, Florin
    Pary, Bazil
    [J]. 2015 IEEE 11TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTER COMMUNICATION AND PROCESSING (ICCP), 2015, : 109 - 116
  • [2] Mirroring Theorems in Free Logic
    Brauer, Ethan
    [J]. NOTRE DAME JOURNAL OF FORMAL LOGIC, 2020, 61 (04) : 561 - 572
  • [3] Automatically Generating Secure Wrappers for SGX Enclaves from Separation Logic Specifications
    van Ginkel, Neline
    Strackx, Raoul
    Piessens, Frank
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS (APLAS 2017), 2017, 10695 : 105 - 123
  • [4] Free Theorems for Functional Logic Programs
    Christiansen, Jan
    Seidel, Daniel
    Voigtlaender, Janis
    [J]. PLPV'10: PROCEEDINGS OF THE 2010 ACM SIGPLAN WORKSHOP ON PROGRAMMING LANGUAGES MEETS PROGRAM VERIFICATION, 2010, : 39 - 48
  • [5] Verifying Executable Object-Oriented Specifications with Separation Logic
    van Staden, Stephan
    Calcagno, Cristiano
    Meyer, Bertrand
    [J]. ECOOP 2010: OBJECT-ORIENTED PROGRAMMING, 2010, 6183 : 151 - +
  • [6] Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq
    Spies, Simon
    Gaeher, Lennard
    Sammler, Michael
    Dreyer, Derek
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [7] A LOGIC-FREE METHOD FOR MODULAR COMPOSITION OF SPECIFICATIONS
    YODAIKEN, V
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1990, 468 : 196 - 205
  • [8] From functional specifications to logic programs
    Gelfond, M
    Gabaldon, A
    [J]. LOGIC PROGRAMMING - PROCEEDINGS OF THE 1997 INTERNATIONAL SYMPOSIUM, 1997, : 355 - 369
  • [9] FROM RELATIONAL SPECIFICATIONS TO LOGIC PROGRAMS
    Near, Joseph P.
    [J]. TECHNICAL COMMUNICATIONS OF THE 26TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING (ICLP'10), 2010, 7 : 144 - 153
  • [10] COMPASS: Strong and Compositional Library Specifications in Relaxed Memory Separation Logic
    Hoang-Hai Dang
    Jung, Jaehwang
    Choi, Jaemin
    Duc-Than Nguyen
    Mansky, William
    Kang, Jeehoon
    Dreyer, Derek
    [J]. PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 792 - 808