Mechanized Verification of Fine-Grained Concurrent Programs

被引:1
|
作者
Sergey, Ilya [1 ]
Nanevski, Aleksandar [1 ]
Banerjee, Anindya [1 ]
机构
[1] IMDEA Software Inst, Madrid, Spain
基金
美国国家科学基金会;
关键词
Algorithms; Theory; Verification; Compositional program verification; concurrency separation logic; mechanized proofs; dependent types; SEPARATION LOGIC; LINEARIZABILITY; STATE;
D O I
10.1145/2813885.2737964
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mechanisms (i.e., locks); instead, they implement custom synchronization patterns via fine-grained primitives, such as compare-and-swap. Due to sophisticated interference scenarios between threads, reasoning about such programs is challenging and error-prone, and can benefit from mechanization. In this paper, we present the first completely formalized framework for mechanized verification of full functional correctness of fine-grained concurrent programs. Our tool is based on the recently proposed program logic FCSL. It is implemented as an embedded domain-specific language in the dependently-typed language of the Coq proof assistant, and is powerful enough to reason about programming features such as higher-order functions and local thread spawning. By incorporating a uniform concurrency model, based on state-transition systems and partial commutative monoids, FCSL makes it possible to build proofs about concurrent libraries in a thread-local, compositional way, thus facilitating scalability and reuse: libraries are verified just once, and their specifications are used ubiquitously in client-side reasoning. We illustrate the proof layout in FCSL by example, and report on our experience of using FCSL to verify a number of concurrent programs.
引用
收藏
页码:77 / 87
页数:11
相关论文
共 50 条
  • [21] Fine-Grained Pipeline Parallelization for Network Function Programs
    Song, Seungbin
    Choi, Heelim
    Kim, Hanjun
    CGO '21: PROCEEDINGS OF THE 2021 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2021, : 162 - 173
  • [22] Beyond Backtracking: Connections in Fine-Grained Concurrent Separation Logic
    Mulder, Ike
    Czajka, Lukasz
    Krebbers, Robbert
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):
  • [23] Communicating State Transition Systems for Fine-Grained Concurrent Resources
    Nanevski, Aleksandar
    Ley-Wild, Ruy
    Sergey, Ilya
    Andres Delbianco, Andgerman
    PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 290 - 310
  • [24] Design and implementation of enterprise systems in fine-grained concurrent computation
    Ohmori, Kenji
    4TH CONFERENCE OF ENTERPRISE INFORMATION SYSTEMS - ALIGNING TECHNOLOGY, ORGANIZATIONS AND PEOPLE (CENTERIS 2012), 2012, 5 : 344 - 353
  • [25] RELOC RELOADED: A MECHANIZED RELATIONAL LOGIC FOR FINE-GRAINED CONCURRENCY AND LOGICAL ATOMICITY
    Frumin, Dan
    Krebbers, Robbert
    Birkedal, Lars
    LOGICAL METHODS IN COMPUTER SCIENCE, 2021, 17 (03)
  • [26] Sensor selection for fine-grained behavior verification that respects privacy
    Phatak, Rishi
    Shell, Dylan A.
    2023 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2023, : 8628 - 8635
  • [27] Sensor selection for fine-grained behavior verification that respects privacy
    Phatak, Rishi
    Shell, Dylan A.
    2023 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2023, : 10117 - 10124
  • [28] FINE-GRAINED COLOUR DISCRIMINATION WITHOUT FINE-GRAINED COLOUR
    Gert, Joshua
    AUSTRALASIAN JOURNAL OF PHILOSOPHY, 2015, 93 (03) : 602 - 605
  • [29] MixFace: Improving face verification with a focus on fine-grained conditions
    Jung, Junuk
    Son, Sungbin
    Park, Joochan
    Park, Yongjun
    Lee, Seonhoon
    Oh, Heung-Seon
    ETRI JOURNAL, 2024, 46 (04) : 660 - 670
  • [30] Masking in fine-grained leakage models: Construction, implementation and verification
    Barthe G.
    Gourjon M.
    Grégoire B.
    Orlt M.
    Paglialonga C.
    Porth L.
    IACR Transactions on Cryptographic Hardware and Embedded Systems, 2021, 2021 (02): : 189 - 228