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

被引:4
作者
Chaki, Sagar [1 ]
Gurfinkel, Arie [1 ]
Strichman, Ofer [1 ,2 ]
机构
[1] SEI CMU, Pittsburgh, PA USA
[2] Technion Israel Inst Technol, Haifa, Israel
基金
美国安德鲁·梅隆基金会;
关键词
Regression verification; Proving equivalence of programs; Multi-threaded programs;
D O I
10.1007/s10703-015-0237-0
中图分类号
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 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
页数:15
相关论文
共 14 条
  • [1] Chaki S, 2012, LECT NOTES COMPUT SC, V7148, P119, DOI 10.1007/978-3-642-27940-9_9
  • [2] A tool for checking ANSI-C programs
    Clarke, E
    Kroening, D
    Lerda, F
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 : 168 - 176
  • [3] Cobleigh JM, 2003, LECT NOTES COMPUT SC, V2619, P331
  • [4] De Moura L., 2008, INT C TOOLS ALG CONS
  • [5] Felsing D, 2014, AUTOMATED S IN PRESS
  • [6] Godlin B, 2009, 46 DES AUT C DAC
  • [7] Godlin B, 2008, THESIS TECHNION ISRA
  • [8] Inference rules for proving the equivalence of recursive procedures
    Godlin, Benny
    Strichman, Ofer
    [J]. ACTA INFORMATICA, 2008, 45 (06) : 403 - 439
  • [9] Gupta A., 2011, Computer Aided Verification, P412
  • [10] TENTATIVE STEPS TOWARD A DEVELOPMENT METHOD FOR INTERFERING PROGRAMS
    JONES, CB
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1983, 5 (04): : 596 - 619