Toward a theory of program repair

被引:2
|
作者
Khaireddine, Besma [1 ]
Zakharchenko, Aleksandr [2 ]
Martinez, Matias [3 ]
Mili, Ali [2 ]
机构
[1] Univ Tunis Manar, Tunis, Tunisia
[2] NJIT, Newark, NJ 07102 USA
[3] Univ Valenciennes, Valenciennes, France
关键词
FAULT; MUTATION;
D O I
10.1007/s00236-023-00438-4
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
To repair a program does not mean to make it (absolutely) correct; it only means to make it more-correct than it was originally. This is not a mundane academic distinction: given that programs typically have about a dozen faults per KLOC, it is important for program repair methods and tools to be designed in such a way that they map an incorrect program into a more-correct, albeit still potentially incorrect, program. Yet in the absence of a concept of relative correctness, many program repair methods and tools resort to approximations of absolute correctness; since these methods and tools are often validated against programs with a single fault, making them absolutely correct is indistinguishable from making them more-correct; this has contributed to conceal/obscure the absence of (and the need for) relative correctness. In this paper, we propose a theory of program repair based on a concept of relative correctness. We aspire to encourage researchers in program repair to explicitly specify what concept of relative correctness their method or tool is based upon; and to validate their method or tool by proving that it does enhance relative correctness, as defined.
引用
收藏
页码:209 / 255
页数:47
相关论文
共 50 条
  • [31] Program repair without regret
    von Essen, Christian
    Jobstmann, Barbara
    FORMAL METHODS IN SYSTEM DESIGN, 2015, 47 (01) : 26 - 50
  • [32] Evolutionary Testing for Program Repair
    Ruan, Haifeng
    Hoang Lam Nguyen
    Shariffdeen, Ridwan
    Noller, Yannic
    Roychoudhury, Abhik
    2024 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST 2024, 2024, : 105 - 116
  • [33] Valve repair 'VR' program
    Natl Eng, 8 (22):
  • [34] Program Repair With Repeated Learning
    Chen, Liushan
    Pei, Yu
    Pan, Minxue
    Zhang, Tian
    Wang, Qixin
    Furia, Carlo A.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (02) : 831 - 848
  • [35] History Driven Program Repair
    Le, Xuan-Bach D.
    Lo, David
    Le Goues, Claire
    2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 213 - 224
  • [36] Mining StackOverflow for Program Repair
    Liu, Xuliang
    Zhong, Hao
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 118 - 129
  • [37] A Generic Algorithm for Program Repair
    Khaireddine, Besma
    Zakharchenko, Aleksandr
    Mili, Ali
    2017 IEEE/ACM 5TH INTERNATIONAL FME WORKSHOP ON FORMAL METHODS IN SOFTWARE ENGINEERING (FORMALISE) PROCEEDINGS, 2017, : 65 - 71
  • [38] Program repair without regret
    Christian von Essen
    Barbara Jobstmann
    Formal Methods in System Design, 2015, 47 : 26 - 50
  • [39] TOWARD FEDERAL PROGRAM BUDGETING
    HIRSCH, WZ
    PUBLIC ADMINISTRATION REVIEW, 1966, 26 (04) : 259 - 269
  • [40] TOWARD AUTOMATIC PROGRAM SYNTHESIS
    MANNA, Z
    WALDINGER, RJ
    COMMUNICATIONS OF THE ACM, 1971, 14 (03) : 151 - +