Regression verification for multi-threaded programs (with extensions to locks and dynamic thread creation)

被引:0
|
作者
Sagar Chaki
Arie Gurfinkel
Ofer Strichman
机构
[1] SEI/CMU,
[2] Technion,undefined
来源
关键词
Regression verification; Proving equivalence of programs; Multi-threaded programs;
D O I
暂无
中图分类号
学科分类号
摘要
Regression verification is the problem of deciding whether two similar programs are equivalent under an arbitrary yet equal context, given some definition of equivalence. So far this problem has only been studied for the case of single-threaded deterministic programs. We present a method for regression verification of multi-threaded programs. Specifically, we develop a proof-rule whose premise requires only to verify equivalence between sequential functions, whereas their consequents are equivalence of concurrent programs. This ability to avoid composing threads altogether when discharging premises, in a fully automatic way and for general programs, uniquely distinguishes our proof rule from others used for classical verification of concurrent programs. We also consider the effect of dynamic thread creation and synchronization primitives.
引用
收藏
页码:287 / 301
页数:14
相关论文
共 50 条
  • [1] Regression verification for multi-threaded programs (with extensions to locks and dynamic thread creation)
    Chaki, Sagar
    Gurfinkel, Arie
    Strichman, Ofer
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2015, 47 (03) : 287 - 301
  • [2] Regression Verification for Multi-threaded Programs
    Chaki, Sagar
    Gurfinkel, Arie
    Strichman, Ofer
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2012, 7148 : 119 - 135
  • [3] A Dynamic Logic for deductive verification of multi-threaded programs
    Beckert, Bernhard
    Klebanov, Vladimir
    [J]. FORMAL ASPECTS OF COMPUTING, 2013, 25 (03) : 405 - 437
  • [4] Thread-specific heaps for multi-threaded programs
    Steensgaard, B
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 18 - 24
  • [5] Reduction for Compositional Verification of Multi-Threaded Programs
    Popeea, Corneliu
    Rybalchenko, Andrey
    Wilhelm, Andreas
    [J]. 2014 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2014, : 187 - 194
  • [6] 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
  • [7] 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
  • [8] Dynamic deadlock analysis of multi-threaded programs
    Bensalem, Saddek
    Havelund, Klaus
    [J]. HARDWARE AND SOFTWARE VERIFICATION AND TESTING, 2006, 3875 : 208 - 223
  • [9] 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
  • [10] 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):