Regression Verification for Multi-threaded Programs

被引:0
|
作者
Chaki, Sagar [1 ]
Gurfinkel, Arie [1 ]
Strichman, Ofer [1 ]
机构
[1] SEI CMU, Pittsburgh, PA USA
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 to establish partial equivalence (i.e., input/output equivalence of terminating executions) of multi-threaded programs. Specifically, we develop two proof-rules that decompose the regression verification between concurrent programs to that of regression verification between sequential functions, a more tractable problem. This ability to avoid composing threads altogether when discharging premises, in a fully automatic way and for general programs, uniquely distinguishes our proof rules from others used for classical verification of concurrent programs.
引用
收藏
页码:119 / 135
页数:17
相关论文
共 50 条
  • [1] 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
  • [2] 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
  • [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] Regression verification for multi-threaded programs (with extensions to locks and dynamic thread creation)
    Sagar Chaki
    Arie Gurfinkel
    Ofer Strichman
    [J]. Formal Methods in System Design, 2015, 47 : 287 - 301
  • [5] A Dynamic Logic for deductive verification of multi-threaded programs
    Beckert, Bernhard
    Klebanov, Vladimir
    [J]. FORMAL ASPECTS OF COMPUTING, 2013, 25 (03) : 405 - 437
  • [6] 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
  • [7] 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
  • [8] 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):
  • [9] An integrated regression testing framework to multi-threaded Java']Java programs
    Li, Bixin
    Wang, Yancheng
    Yang, LiLi
    [J]. SOFTWARE ENGINEERING TECHNIQUES: DESIGN FOR QUALITY, 2006, 227 : 237 - +
  • [10] 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