Regression verification: proving the equivalence of similar programs

被引:54
|
作者
Godlin, Benny [1 ]
Strichman, Ofer [1 ]
机构
[1] Technion Israel Inst Technol, Haifa, Israel
关键词
software verification; equivalence checking;
D O I
10.1002/stvr.1472
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Proving the equivalence of successive, closely related versions of a program has the potential of being easier in practice than functional verification, although both problems are undecidable. There are three main reasons for this claim: (i) it circumvents the problem of specifying what the program should do; (ii) the problem can be naturally decomposed and hence is computationally easier; and (iii) there is an automatic invariant that enables to prove equivalence of loops and recursive functions in most practical cases. Theoretical and practical aspects of this problem are considered. Copyright (c) 2012 John Wiley & Sons, Ltd.
引用
收藏
页码:241 / 258
页数:18
相关论文
共 40 条
  • [21] An Enhanced Equivalence Checking Method to Handle Bugs in Programs with Recurrences
    Dutta, Sudakshina
    Sarkar, Dipankar
    ENASE: PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL SOFTWARE APPROACHES TO SOFTWARE ENGINEERING, 2016, : 254 - 259
  • [22] VeriEQL: Bounded Equivalence Verification for Complex SQL Queries with Integrity Constraints
    He, Yang
    Zhao, Pinhan
    Wang, Xinyu
    Wang, Yuepeng
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):
  • [23] SAT-Based Fault Equivalence Checking in Functional Safety Verification
    Ai Quoc Dao
    Lin, Mark Po-Hung
    Mishchenko, Alan
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2018, 37 (12) : 3198 - 3205
  • [24] Static and Dynamic Verification of OCaml Programs: The Gospel Ecosystem
    Soares, Tiago Lopes
    Chirica, Ion
    Pereira, Mario
    LEVERAGING APPLICATIONS OF FORMAL METHOD, VERIFICATION AND VALIDATION: SPECIFICATION AND VERIFICATION, PT III, ISOLA 2024, 2025, 15221 : 247 - 265
  • [25] Verification of Programs with Exceptions Through Operator Precedence Automata
    Pontiggia, Francesco
    Chiari, Michele
    Pradella, Matteo
    SOFTWARE ENGINEERING AND FORMAL METHODS (SEFM 2021), 2021, 13085 : 293 - 311
  • [26] Towards Automated Static Verification of GNU C Programs
    Novikov, Evgeny
    Zakharov, Ilja
    PERSPECTIVES OF SYSTEM INFORMATICS, PSI 2017, 2018, 10742 : 402 - 416
  • [27] Verification of Java']Java Programs with Interacting Analysis Plugins
    Charlton, Nathaniel
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 145 : 131 - 150
  • [28] Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences
    Verdoolaege, Sven
    Janssens, Gerda
    Bruynooghe, Maurice
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 34 (03):
  • [29] An Efficient Equivalence Checking Method for Petri net based Models of Programs
    Bandyopadhyay, Soumyadip
    Sarkar, Dipankar
    Mandal, Chittaranjan
    2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 827 - 828
  • [30] Simulation bounds for equivalence verification of polynomial datapaths using finite ring algebra
    Shekhar, Namrata
    Kalla, Priyank
    Meredith, M. Brandon
    Enescu, Florian
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2008, 16 (04) : 376 - 387