The Anchor Verifier for Blocking and Non-blocking Concurrent Software

被引:3
|
作者
Flanagan, Cormac [1 ]
Freund, Stephen N. [2 ]
机构
[1] Univ Calif Santa Cruz, Santa Cruz, CA 95064 USA
[2] Williams Coll, Williamstown, MA 01267 USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2020年 / 4卷 / 04期
基金
美国国家科学基金会;
关键词
concurrent program verification; reduction; synchronization; MODULAR VERIFICATION; REDUCTION; PROGRAMS;
D O I
10.1145/3428224
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Verifying the correctness of concurrent software with subtle synchronization is notoriously challenging. We present the ANCHOR verifier, which is based on a new formalism for specifying synchronization disciplines that describes both (1) what memory accesses are permitted, and (2) how each permitted access commutes with concurrent operations of other threads (to facilitate reduction proofs). ANCHOR supports the verification of both lock-based blocking and cas-based non-blocking algorithms. Experiments on a variety concurrent data structures and algorithms show that ANCHOR significantly reduces the burden of concurrent verification.
引用
收藏
页数:29
相关论文
共 50 条
  • [1] Concurrent Tries with Efficient Non-Blocking Snapshots
    Prokopec, Aleksandar
    Bronson, Nathan G.
    Bagwell, Phil
    Odersky, Martin
    ACM SIGPLAN NOTICES, 2012, 47 (08) : 151 - 160
  • [2] Blocking and non-blocking concurrent hash tables in multi-core systems
    1600, World Scientific and Engineering Academy and Society, Ag. Ioannou Theologou 17-23, Zographou, Athens, 15773, Greece (12):
  • [3] A Pragmatic Non-blocking Concurrent Directed Acyclic Graph
    Peri, Sathya
    Sa, Muktikanta
    Singhal, Nandini
    NETWORKED SYSTEMS, NETYS 2019, 2019, 11704 : 327 - 344
  • [4] Non-Blocking Concurrent Imperative Programming with Session Types
    Silva, Miguel
    Florido, Mario
    Pfenning, Frank
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (238): : 64 - 72
  • [6] Matrix switches: Blocking versus non-blocking
    Chermansky, Brett
    MICROWAVE JOURNAL, 2006, 49 (07) : 116 - +
  • [7] Matrix switches: Blocking versus non-blocking
    Chermansky, Brett
    Microwave Journal, 2006, 49 (07): : 116 - 118
  • [8] Semi-Synchronized Non-Blocking Concurrent Kernel Cruising
    Tian, Donghai
    Zeng, Qiang
    Wu, Dinghao
    Liu, Peng
    Hu, Changzhen
    IEEE TRANSACTIONS ON CLOUD COMPUTING, 2022, 10 (02) : 1428 - 1444
  • [9] A NON-BLOCKING LIMITING AMPLIFIER
    HIBBERD, F
    WIRELESS WORLD, 1969, 75 (1404): : 269 - &
  • [10] Non-Blocking Commit Protocol
    Kumar, Shishir
    Barvey, Sonali
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2009, 9 (08): : 172 - 177