The Evolution of Automated Software Repair

被引:0
|
作者
Le Goues, Claire [1 ]
Nguyen, Thanhvu [2 ]
Forrest, Stephanie [3 ]
Weimer, Westley [4 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] George Mason Univ, Fairfax, VA 22030 USA
[3] Arizona State Univ, Tempe, AZ 85287 USA
[4] Univ Michigan, Ann Arbor, MI 48109 USA
关键词
Maintenance engineering; Computer bugs; Software; Codes; Standards; Manuals; Debugging; Testing; Genetic programming; Evolution (biology); Automatic programming; corrections; testing and debugging; evolutionary computation; PROGRAM REPAIR; BUGS;
D O I
10.1109/TSE.2025.3533309
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
GenProg implemented a novel method for automatically evolving patches to repair test suite failures in legacy C programs. It combined insights from genetic programming and software engineering. Many of the original design decisions in GenProg were ultimately less important than its impact as an existence proof. In particular, it demonstrated that useful patches for non-trivial bugs and programs could be generated automatically. Since the original publication, research in automated program repair has expanded to consider and evaluate many new methods, contexts and defects. As code synthesis and debugging techniques based on machine learning have become popular, it is informative to consider how views on perennial issues in program repair have changed, or remained static, over time. This retrospective discusses the issues of repair quality (including the role of tests), use cases for automated repairs (including the role of humans), and why these approaches work at all.
引用
收藏
页码:870 / 873
页数:4
相关论文
共 50 条
  • [31] Software Evolution Introduction
    Mens, Tom
    Gueheneuc, Yann-Gael
    Fernandez-Ramil, Juan
    D'Hondt, Maja
    IEEE SOFTWARE, 2010, 27 (04) : 22 - 25
  • [32] Automatic Repair of Timestamp Comparisons
    Liva, Giovanni
    Khan, Muhammad Taimoor
    Pinzger, Martin
    Spegni, Francesco
    Spalazzi, Luca
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (11) : 2369 - 2381
  • [33] SOFTWARE EVOLUTION IN TURKEY
    Mishra, Alok
    Yazici, Ali
    Cetin, Semih
    TEHNICKI VJESNIK-TECHNICAL GAZETTE, 2016, 23 (03): : 929 - 935
  • [34] Multifractal analysis of the software evolution in software networks
    Liu, Meili
    Qi, Xiaogang
    Pan, Hao
    CHINESE PHYSICS B, 2022, 31 (03)
  • [35] An in-Depth Analysis of the Software Features' Impact on the Performance of Deep Learning-Based Software Defect Predictors
    Miholca, Diana-Lucia
    Tomescu, Vlad-Ioan
    Czibula, Gabriela
    IEEE ACCESS, 2022, 10 : 64801 - 64818
  • [36] Evaluating Automated Software Verification Tools
    Prause, Christian R.
    Gerlich, Rainer
    Gerlich, Ralf
    2018 IEEE 11TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2018, : 343 - 353
  • [37] ARJA-e for the First International Competition on Automated Program Repair
    Yuan, Yuan
    2024 ACM/IEEE INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR, APR 2024, 2024, : 50 - 52
  • [38] MintHint: Automated Synthesis of Repair Hints
    Kaleeswaran, Shalini
    Tulsian, Varun
    Kanade, Aditya
    Orso, Alessandro
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 266 - 276
  • [39] On the Evaluation Metrics of Automated Program Repair
    Qi, Yuhua
    Liu, Wenhong
    Zhang, Weixiang
    Yang, Deheng
    2017 FOURTH INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND THEIR APPLICATIONS (DSA 2017), 2017, : 168 - 168
  • [40] Current challenges in automatic software repair
    Claire Le Goues
    Stephanie Forrest
    Westley Weimer
    Software Quality Journal, 2013, 21 : 421 - 443