Do automated program repair techniques repair hard and important bugs?

被引:0
|
作者
Manish Motwani
Sandhya Sankaranarayanan
René Just
Yuriy Brun
机构
[1] University of Massachusetts,College of Information and Computer Science
来源
Empirical Software Engineering | 2018年 / 23卷
关键词
Automated program repair; Repairability;
D O I
暂无
中图分类号
学科分类号
摘要
Existing evaluations of automated repair techniques focus on the fraction of the defects for which the technique can produce a patch, the time needed to produce patches, and how well patches generalize to the intended specification. However, these evaluations have not focused on the applicability of repair techniques and the characteristics of the defects that these techniques can repair. Questions such as “Can automated repair techniques repair defects that are hard for developers to repair?” and “Are automated repair techniques less likely to repair defects that involve loops?” have not, as of yet, been answered. To address such questions, we annotate two large benchmarks totaling 409 C and Java defects in real-world software, ranging from 22K to 2.8M lines of code, with measures of the defect’s importance, the developer-written patch’s complexity, and the quality of the test suite. We then analyze relationships between these measures and the ability to produce patches for the defects of seven automated repair techniques —AE, GenProg, Kali, Nopol, Prophet, SPR, and TrpAutoRepair. We find that automated repair techniques are less likely to produce patches for defects that required developers to write a lot of code or edit many files, or that have many tests relevant to the defect. Java techniques are more likely to produce patches for high-priority defects. Neither the time it took developers to fix a defect nor the test suite’s coverage correlate with the automated repair techniques’ ability to produce patches. Finally, automated repair techniques are less capable of fixing defects that require developers to add loops and new function calls, or to change method signatures. These findings identify strengths and shortcomings of the state-of-the-art of automated program repair along new dimensions. The presented methodology can drive research toward improving the applicability of automated repair techniques to hard and important bugs.
引用
收藏
页码:2901 / 2947
页数:46
相关论文
共 50 条
  • [31] A critical review on the evaluation of automated program repair systems
    Liu, Kui
    Li, Li
    Koyuncu, Anil
    Kim, Dongsun
    Liu, Zhe
    Klein, Jacques
    Bissyande, Tegawende F.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 171
  • [32] An Investigation into the Use of Mutation Analysis for Automated Program Repair
    Timperley, Christopher Steven
    Stepney, Susan
    Le Goues, Claire
    SEARCH BASED SOFTWARE ENGINEERING, SSBSE 2017, 2017, 10452 : 99 - 114
  • [33] Impact of Code Language Models on Automated Program Repair
    Jiang, Nan
    Liu, Kevin
    Lutellier, Thibaud
    Tan, Lin
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1430 - 1442
  • [34] Be Realistic: Automated Program Repair is a Combination of Undecidable Problems
    Nilizadeh, Amirfarhad
    Leavens, Gary T.
    INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR (APR 2022), 2022, : 31 - 32
  • [35] Automatic Software Merging using Automated Program Repair
    Xing, Xiaoqian
    Maruyama, Katsuhisa
    2019 IEEE 1ST INTERNATIONAL WORKSHOP ON INTELLIGENT BUG FIXING (IBF '19), 2019, : 11 - 16
  • [36] ThinkRepair: Self-Directed Automated Program Repair
    Yin, Xin
    Ni, Chao
    Wang, Shaohua
    Li, Zhenhao
    Zeng, Limin
    Yang, Xiaohu
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 1274 - 1286
  • [37] Overfitting in semantics-based automated program repair
    Xuan Bach D. Le
    Ferdian Thung
    David Lo
    Claire Le Goues
    Empirical Software Engineering, 2018, 23 : 3007 - 3033
  • [38] Automated program repair: a step towards software automation
    Abhik ROYCHOUDHURY
    Yingfei XIONG
    ScienceChina(InformationSciences), 2019, 62 (10) : 47 - 49
  • [39] Overfitting in semantics-based automated program repair
    Le, Xuan Bach D.
    Thung, Ferdian
    Lo, David
    Le Goues, Claire
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (05) : 3007 - 3033
  • [40] Evaluating the Strategies of Statement Selection in Automated Program Repair
    Yang, Deheng
    Qi, Yuhua
    Mao, Xiaoguang
    SOFTWARE ANALYSIS, TESTING, AND EVOLUTION, SATE 2018, 2018, 11293 : 33 - 48