COMPASS: Strong and Compositional Library Specifications in Relaxed Memory Separation Logic

被引:11
|
作者
Hoang-Hai Dang [1 ]
Jung, Jaehwang [2 ]
Choi, Jaemin [2 ]
Duc-Than Nguyen [3 ]
Mansky, William [3 ]
Kang, Jeehoon [2 ]
Dreyer, Derek [1 ]
机构
[1] MPI SWS, Saarbrucken, Germany
[2] Korea Adv Inst Sci & Technol, Daejeon, South Korea
[3] Univ Illinois, Chicago, IL 60680 USA
基金
美国国家科学基金会; 欧洲研究理事会; 新加坡国家研究基金会;
关键词
C11; relaxed memory models; separation logics; linearizability; logical atomicity; Iris; LINEARIZABILITY; CORRECTNESS;
D O I
10.1145/3519939.3523451
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Several functional correctness criteria have been proposed for relaxed-memory consistency libraries, but most lack support for modular client reasoning. Mevel and Jourdan recently showed that logical atomicity can be used to give strong modular Hoare-style specifications for relaxed libraries, but only for a limited instance in the Multicore OCaml memory model. It has remained unclear if their approach scales to weaker implementations in weaker memory models. In this work, we combine logical atomicity together with richer partial orders (inspired by prior relaxed-memory correctness criteria) to develop stronger specifications in the weaker memory model of Repaired C11 (RC11). We show their applicability by proving them for multiple implementations of stacks, queues, and exchangers, and we demonstrate their strength by performing multiple client verifications on top of them. Our proofs are mechanized in Compass, a new framework extending the iRC11 separation logic, built atop Iris, in Coq. We report the first mechanized verifications of relaxed-memory implementations for the exchanger, the elimination stack, and the Herlihy-Wing queue.
引用
收藏
页码:792 / 808
页数:17
相关论文
共 38 条
  • [1] A Proof Recipe for Linearizability in Relaxed Memory Separation Logic
    Park, Sunho
    Kim, Jaewoo
    Mulder, Ike
    Jung, Jaehwang
    Lee, Janggun
    Krebbers, Robbert
    Kang, Jeehoon
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI): : 175 - 198
  • [2] Verification of protocol specifications with separation logic
    Kiss, Tibor
    Craciun, Florin
    Pary, Bazil
    2015 IEEE 11TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTER COMMUNICATION AND PROCESSING (ICCP), 2015, : 109 - 116
  • [3] Compositional Satisfiability Solving in Separation Logic
    Le, Quang Loc
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2021, 2021, 12597 : 578 - 602
  • [4] A Compositional Approach to Reactive Games under Temporal Logic Specifications
    Kulkarni, Abhishek Ninad
    Fu, Jie
    2018 ANNUAL AMERICAN CONTROL CONFERENCE (ACC), 2018, : 2356 - 2362
  • [5] Theorems for Free from Separation Logic Specifications
    Birkedal, Lars
    Dinsdale-Young, Thomas
    Gueneau, Armael
    Jaber, Guilhem
    Svendsen, Kasper
    Tzevelekos, Nikos
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [6] Strong-Separation Logic
    Pagel, Jens
    Zuleger, Florian
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 664 - 692
  • [7] Strong-separation Logic
    Pagel, Jens
    Zuleger, Florian
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2022, 44 (03):
  • [8] Mining Library Specifications using Inductive Logic Programming
    Sankaranarayanan, Sriram
    Ivancic, Franjo
    Gupta, Aarti
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 131 - 140
  • [9] Relaxed Separation Logic: A Program Logic for C11 Concurrency
    Vafeiadis, Viktor
    Narayan, Chinmay
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 867 - 883
  • [10] Compositional entailment checking for a fragment of separation logic
    Constantin Enea
    Ondřej Lengál
    Mihaela Sighireanu
    Tomáš Vojnar
    Formal Methods in System Design, 2017, 51 : 575 - 607