Automatic Verification of Multi-threaded Programs by Inference of Rely-Guarantee Specifications

被引:2
作者
Le, Xuan-Bach [1 ]
Sanan, David [1 ]
Jun, Sun [2 ]
Lin, Shang-Wei [1 ]
机构
[1] Nanyang Technol Univ, Sch Comp Sci & Engn, Singapore, Singapore
[2] Singapore Management Univ, Sch Informat Syst, Singapore, Singapore
来源
2020 25TH INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2020) | 2020年
关键词
Rely-Guarantee; Concurrency; CEGAR; PROOF; RELY/GUARANTEE;
D O I
10.1109/ICECCS51672.2020.00013
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Rely-Guarantee is a comprehensive technique that supports compositional reasoning for concurrent programs. However, specifications of the Rely condition - environment interference, and Guarantee condition - local transformation of thread state - are challenging to establish. Thus the construction of these conditions becomes bottleneck in automating the technique. To tackle the above problem, we propose a verification framework that, based on Rely-Guarantee principles, constructs the correctness proof of concurrent program through inferring suitable Rely-Guarantee conditions automatically. Our framework first constructs a Hoare-style sequential proof for each thread and then applies abstraction refinement to elevate these proofs into concurrent ones with appropriate Rely-Guarantee relations. Experiment results demonstrate that our approach is efficient in proving the correctness of concurrent programs.
引用
收藏
页码:43 / 52
页数:10
相关论文
共 40 条
  • [1] Appel Andrew W., 2014, Program logics for certified compilers
  • [2] Bar-David Y, 2003, LECT NOTES COMPUT SC, V2848, P136
  • [3] Bornat R, 2000, LECT NOTES COMPUT SC, V1837, P102
  • [4] A semantics for concurrent separation logic
    Brookes, Stephen
    [J]. THEORETICAL COMPUTER SCIENCE, 2007, 375 (1-3) : 227 - 270
  • [5] Carbonneaux Q, 2014, ACM SIGPLAN NOTICES, V49, P270, DOI [10.1145/2666356.2594301, 10.1145/2594291.2594301]
  • [6] Clarke E., 2000, LNCS, V1855, P154, DOI 10.1007/1072216715
  • [7] AUTOMATIC VERIFICATION OF FINITE-STATE CONCURRENT SYSTEMS USING TEMPORAL LOGIC SPECIFICATIONS
    CLARKE, EM
    EMERSON, EA
    SISTLA, AP
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1986, 8 (02): : 244 - 263
  • [8] Local proofs for global safety properties
    Cohen, Ariel
    Namjoshi, Kedar S.
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2009, 34 (02) : 104 - 125
  • [9] A structural proof of the soundness of rely/guarantee rules
    Coleman, Joey W.
    Jones, Cliff B.
    [J]. JOURNAL OF LOGIC AND COMPUTATION, 2007, 17 (04) : 807 - 841
  • [10] Z3: An efficient SMT solver
    de Moura, Leonardo
    Bjorner, Nikolaj
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 337 - 340