Reduction for Compositional Verification of Multi-Threaded Programs

被引:0
|
作者
Popeea, Corneliu [1 ]
Rybalchenko, Andrey [1 ,2 ]
Wilhelm, Andreas [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
[2] Microsoft Res Cambridge, Cambridge, England
基金
欧洲研究理事会;
关键词
PARTIAL-ORDER REDUCTION;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Automated verification of multi-threaded programs requires keeping track of a very large number of possible interactions between the program threads. Different reasoning methods have been proposed that alleviate the explicit enumeration of all thread interleavings, e.g., Lipton's theory of reduction or Owicki-Gries method for compositional reasoning, however their synergistic interplay has not yet been fully explored. In this paper we explore the applicability of the theory of reduction for pruning of equivalent interleavings for the automated verification of multi-threaded programs with infinite-state spaces. We propose proof rules for safety and termination of multi-threaded programs that integrate into an Owicki-Gries based compositional verifier. The verification conditions of our method are Horn clauses, thus facilitating automation by using off-the-shelf Horn clause solvers. We present preliminary experimental results that show the advantages of our approach when compared to state-of-the-art verifiers of C programs.
引用
收藏
页码:187 / 194
页数:8
相关论文
共 50 条
  • [1] Regression Verification for Multi-threaded Programs
    Chaki, Sagar
    Gurfinkel, Arie
    Strichman, Ofer
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2012, 7148 : 119 - 135
  • [2] Compositional Termination Proofs for Multi-threaded Programs
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2012, 2012, 7214 : 237 - 251
  • [3] Effective verification of confidentiality for multi-threaded programs
    Ngo, Tri Minh
    Stoelinga, Marielle
    Huisman, Marieke
    [J]. JOURNAL OF COMPUTER SECURITY, 2014, 22 (02) : 269 - 300
  • [4] A Dynamic Logic for deductive verification of multi-threaded programs
    Beckert, Bernhard
    Klebanov, Vladimir
    [J]. FORMAL ASPECTS OF COMPUTING, 2013, 25 (03) : 405 - 437
  • [5] Distributed Verification of Multi-threaded C++ Programs
    Edelkamp, Stefan
    Jabbar, Shahid
    Sulewski, Damian
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 198 (01) : 33 - 46
  • [6] Extending JML for modular specification and verification of multi-threaded programs
    Rodríguez, E
    Dwyer, M
    Flanagan, C
    Hatcliff, J
    Leavens, GT
    Robby
    [J]. ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 551 - 576
  • [7] Bounded Verification of Multi-threaded Programs via Lazy Sequentialization
    Inverso, Omar
    Tomasco, Ermenegildo
    Fischer, Bernd
    La Torre, Salvatore
    Parlato, Gennaro
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2022, 44 (01):
  • [8] Security Check for Multi-threaded Programs
    Tri Minh Ngo
    Tuan Van Nguyen
    [J]. 2016 IEEE SIXTH INTERNATIONAL CONFERENCE ON COMMUNICATIONS AND ELECTRONICS (ICCE), 2016, : 465 - 470
  • [9] Combining sequentialization-based verification of multi-threaded C programs with symbolic Partial Order Reduction
    Vladimir Herdt
    Hoang M. Le
    Daniel Große
    Rolf Drechsler
    [J]. International Journal on Software Tools for Technology Transfer, 2019, 21 : 545 - 565
  • [10] Combining sequentialization-based verification of multi-threaded C programs with symbolic Partial Order Reduction
    Herdt, Vladimir
    Le, Hoang M.
    Grosse, Daniel
    Drechsler, Rolf
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (05) : 545 - 565