Kater: AutomatingWeak Memory Model Metatheory and Consistency Checking

被引:8
作者
Kokologiannakis, Michalis [1 ]
Lahav, Ori [2 ]
Vafeiadis, Viktor [1 ]
机构
[1] MPI SWS, Saarland Informat Campus, Saarbrucken, Germany
[2] Tel Aviv Univ, Tel Aviv, Israel
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2023年 / 7卷 / POPL期
基金
欧洲研究理事会; 以色列科学基金会;
关键词
Model Checking; Weak Memory Models; Kleene Algebra with Tests; C/C PLUS PLUS; KLEENE ALGEBRA;
D O I
10.1145/3571212
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The metatheory of axiomatic weak memory models covers questions like the correctness of compilation mappings from one model to another and the correctness of local program transformations according to a given model-topics usually requiring lengthy human investigation. We show that these questions can be solved by answering a more basic question: "Given two memory models, is one weaker than the other?" Moreover, for a wide class of axiomatic memory models, we show that this basic question can be reduced to a language inclusion problem between regular languages, which is decidable. Similarly, implementing an efficient check for whether an execution graph is consistent according to a given memory model has required non-trivial manual effort. Again, we show that such efficient checks can be derived automatically for a wide class of axiomatic memory models, and that incremental consistency checks can be incorporated in GenMC, a state-of-the-art model checker for concurrent programs. As a result, we get the first time- and space-efficient bounded verifier taking the axiomatic memory model as an input parameter.
引用
收藏
页码:544 / 572
页数:29
相关论文
共 38 条
[1]  
Abdulla Parosh Aziz, 2015, Tools and Algorithms for the Construction and Analysis of Systems. 21st International Conference, TACAS 2015, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015. Proceedings: LNCS 9035, P353, DOI 10.1007/978-3-662-46681-0_28
[2]  
Alglave J, 2018, ACM SIGPLAN NOTICES, V53, P405, DOI [10.1145/3296957.3177156, 10.1145/3173162.3177156]
[3]   Herding Cats: Modelling, Simulation, Testing, and Data Mining for Weak Memory [J].
Alglave, Jade ;
Maranget, Luc ;
Tautschnig, Michael .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (02)
[4]  
[Anonymous], 1992, SPARC ARCHITECTURE M
[5]  
Batty M, 2012, POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, P509
[6]   Mathematizing C plus plus Concurrency [J].
Batty, Mark ;
Owens, Scott ;
Sarkar, Susmit ;
Sewell, Peter ;
Weber, Tjark .
POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, :55-66
[7]   Checking NFA Equivalence with Bisimulations up to Congruence [J].
Bonchi, Filippo ;
Pous, Damien .
ACM SIGPLAN NOTICES, 2013, 48 (01) :457-468
[8]  
Bornholt J, 2017, ACM SIGPLAN NOTICES, V52, P467, DOI [10.1145/3140587.3062353, 10.1145/3062341.3062353]
[9]  
Dolan S, 2018, ACM SIGPLAN NOTICES, V53, P242, DOI [10.1145/3296979.3192421, 10.1145/3192366.3192421]
[10]   Mixed-Size Concurrency: ARM, POWER, C/C++11, and SC [J].
Flur, Shaked ;
Sarkar, Susmit ;
Pulte, Christopher ;
Nienhuis, Kyndylan ;
Maranget, Luc ;
Gray, Kathryn E. ;
Sezgin, Ali ;
Batty, Mark ;
Sewell, Peter .
ACM SIGPLAN NOTICES, 2017, 52 (01) :429-442