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 条
  • [31] Providing fine-grained access control for Java']Java programs
    Pandey, R
    Hashii, B
    ECOOP'99 - OBJECT-ORIENTED PROGRAMMING, 1999, 1628 : 449 - 473
  • [32] Leveraging Fine-Grained Labels to Regularize Fine-Grained Visual Classification
    Wu, Junfeng
    Yao, Li
    Liu, Bin
    Ding, Zheyuan
    PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON COMPUTER MODELING AND SIMULATION (ICCMS 2019) AND 8TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND APPLICATIONS (ICICA 2019), 2019, : 133 - 136
  • [33] Efficient Concurrent Search Trees Using Portable Fine-Grained Locality
    Phuong Hoai Ha
    Anshus, Otto J.
    Umar, Ibrahim
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2019, 30 (07) : 1580 - 1595
  • [34] EXPRESSING FINE-GRAINED PARALLELISM USING CONCURRENT DATA-STRUCTURES
    JAGANNATHAN, S
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 574 : 77 - 92
  • [35] A FINE-GRAINED DATA FLOW MACHINE AND ITS CONCURRENT EXECUTION MECHANISM
    IWASHITA, M
    FUJITA, Y
    TEMMA, T
    NEC RESEARCH & DEVELOPMENT, 1989, (93): : 63 - 72
  • [36] FINE-GRAINED MONOLITH
    Louw, Michael
    ARCHITECTURE SOUTH AFRICA, 2019, (96): : 48 - 49
  • [37] Is fine-grained viable?
    Aaldering, M
    EDN, 1997, 42 (02) : 28 - 28
  • [38] Towards fine-grained automated verification of publish-subscribe architectures
    Baresi, Luciano
    Ghezzi, Carlo
    Mottola, Luca
    FORMAL TECHNIQUES FOR NETWORKED AND DISTRIBUTED SYSTEMS - FORTE 2006, 2006, 4229 : 131 - 135
  • [39] Fine-Grained Cryptography
    Degwekar, Akshay
    Vaikuntanathan, Vinod
    Vasudevan, Prashant Nalini
    ADVANCES IN CRYPTOLOGY (CRYPTO 2016), PT III, 2016, 9816 : 533 - 562
  • [40] A Large-Scale Car Dataset for Fine-Grained Categorization and Verification
    Yang, Linjie
    Luo, Ping
    Loy, Chen Change
    Tang, Xiaoou
    2015 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2015, : 3973 - 3981