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
来源
关键词
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 条
  • [21] Towards More Reliable Automated Program Repair by Integrating Static Analysis Techniques
    Al-Bataineh, Omar, I
    Grishina, Anastasiia
    Moonen, Leon
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 654 - 663
  • [22] Evaluating Automated Program Repair Techniques using Introductory Programming Course Datasets
    Nakamura, Tsukasa
    Kondo, Masanari
    Kamei, Yasutaka
    Ubayashi, Naoyasu
    2022 IEEE 46TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2022), 2022, : 569 - 574
  • [23] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Assiri, Fatmah Yousef
    Bieman, James M.
    SOFTWARE QUALITY JOURNAL, 2017, 25 (01) : 171 - 199
  • [24] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Fatmah Yousef Assiri
    James M. Bieman
    Software Quality Journal, 2017, 25 : 171 - 199
  • [25] A Review of Hard Palate Fracture Repair Techniques
    Moss, William J.
    Kedarisetty, Suraj
    Jafari, Aria
    Schaerer, Daniel E.
    Husseman, Jacob W.
    JOURNAL OF ORAL AND MAXILLOFACIAL SURGERY, 2016, 74 (02) : 328 - 336
  • [26] Survey of Automatic Program Repair Techniques
    Jiang J.-J.
    Chen J.-J.
    Xiong Y.-F.
    Chen, Jun-Jie (junjiechen@tju.edu.cn), 1600, Chinese Academy of Sciences (32): : 2665 - 2690
  • [27] Automatic Program Repair Techniques: A Survey
    Wang Z.
    Gao J.
    Chen X.
    Fu H.-J.
    Fan X.-Y.
    Jisuanji Xuebao/Chinese Journal of Computers, 2018, 41 (03): : 588 - 610
  • [28] DNA repair - Breaking up is hard to do
    Cunliffe, L
    NATURE REVIEWS MOLECULAR CELL BIOLOGY, 2005, 6 (02) : 97 - 97
  • [29] Automated Program Repair via Conversation: Fixing 162 out of 337 Bugs for $0.42 Each using ChatGPT
    Xia, Chunqiu Steven
    Zhang, Lingming
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 819 - 831
  • [30] Automated Program Repair for Introductory Programming Assignments
    Wan, Han
    Luo, Hongzhen
    Li, Mengying
    Luo, Xiaoyan
    IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES, 2024, 17 : 1745 - 1760