Verifying Linearizability via Optimized Refinement Checking

被引:16
|
作者
Liu, Yang [1 ]
Chen, Wei [2 ]
Liu, Yanhong A. [3 ]
Sun, Jun [4 ]
Zhang, Shao Jie [5 ]
Dong, Jin Song [5 ]
机构
[1] Nanyang Technol Univ, Sch Comp Engn, Singapore 639798, Singapore
[2] Microsoft Res Asia, Microsoft Asia Pacific R&D Grp Headquarters, Beijing 100080, Peoples R China
[3] SUNY Stony Brook, Dept Comp Sci, Stony Brook, NY 11794 USA
[4] Singapore Univ Technol & Design, Singapore 279623, Singapore
[5] Natl Univ Singapore, Sch Comp, Dept Comp Sci, Singapore 117417, Singapore
基金
美国国家科学基金会;
关键词
Linearizability; refinement; model checking; PAT; MODEL CHECKING; FORMAL VERIFICATION; CONCURRENT; SYMMETRY;
D O I
10.1109/TSE.2012.82
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that: 1) All executions of concurrent operations are serializable, and 2) the serialized executions are correct with respect to the sequential semantics. In this work, we describe a method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. The method does not require that linearization points in the implementations be given, which is often difficult or impossible. However, the method takes advantage of linearization points if they are given. The method is based on refinement checking of finite-state systems specified as concurrent processes with shared variables. To tackle state space explosion, we develop and apply symmetry reduction, dynamic partial order reduction, and a combination of both for refinement checking. We have built the method into the PAT model checker, and used PAT to automatically check a variety of implementations of concurrent objects, including the first algorithm for scalable nonzero indicators. Our system is able to find all known and injected bugs in these implementations.
引用
收藏
页码:1018 / 1039
页数:22
相关论文
共 50 条
  • [1] Model Checking Linearizability via Refinement
    Liu, Yang
    Chen, Wei
    Liu, Yanhong A.
    Sun, Jun
    [J]. FM 2009: FORMAL METHODS, PROCEEDINGS, 2009, 5850 : 321 - +
  • [2] Verifying a quantitative relaxation of linearizability via refinement
    Kiran Adhikari
    James Street
    Chao Wang
    Yang Liu
    Shaojie Zhang
    [J]. International Journal on Software Tools for Technology Transfer, 2016, 18 : 393 - 407
  • [3] Verifying a quantitative relaxation of linearizability via refinement
    Adhikari, Kiran
    Street, James
    Wang, Chao
    Liu, Yang
    Zhang, Shaojie
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2016, 18 (04) : 393 - 407
  • [4] Verifying Linearizability with Hindsight
    O'Hearn, Peter W.
    Rinetzky, Noam
    Vechev, Martin T.
    Yahav, Eran
    Yorsh, Greta
    [J]. PODC 2010: PROCEEDINGS OF THE 2010 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2010, : 85 - 94
  • [5] Verifying network protocol implementations by symbolic refinement checking
    Alur, R
    Wang, BY
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2001, 2102 : 169 - 181
  • [6] Faster Linearizability Checking via P-Compositionality
    Horn, Alex
    Kroening, Daniel
    [J]. FORMAL TECHNIQUES FOR DISTRIBUTED OBJECTS, COMPONENTS, AND SYSTEMS, FORTE 2015, 2015, 9039 : 50 - 65
  • [7] Verifying Linearizability on TSO Architectures
    Derrick, John
    Smith, Graeme
    Dongol, Brijesh
    [J]. INTEGRATED FORMAL METHODS, IFM 2014, 2014, 8739 : 341 - 356
  • [8] Proving linearizability via non-atomic refinement
    Derrick, John
    Schellhorn, Gerhard
    Wehrheim, Heike
    [J]. INTEGRATED FORMAL METHODS, PROCEEDINGS, 2007, 4591 : 195 - 214
  • [9] Scalable Automatic Linearizability Checking
    Zhang, Shao Jie
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 1185 - 1187
  • [10] Comparison under abstraction for verifying linearizability
    Amit, Daphna
    Rinetzky, Noam
    Reps, Thomas
    Sagiv, Mooly
    Yahav, Eran
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 477 - +