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 条
  • [1] Fully Automated Software Product Line Evolution With Diverse Artifacts
    Perdek, Jakub
    Vranic, Valentino
    IEEE ACCESS, 2025, 13 : 27325 - 27358
  • [2] Automated Program Repair for Introductory Programming Assignments
    Wan, Han
    Luo, Hongzhen
    Li, Mengying
    Luo, Xiaoyan
    IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES, 2024, 17 : 1745 - 1760
  • [3] ARJA: Automated Repair of Java']Java Programs via Multi-Objective Genetic Programming
    Yuan, Yuan
    Banzhaf, Wolfgang
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (10) : 1040 - 1067
  • [4] 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
  • [5] Optimization of Automated and Manual Software Tests in Industrial Practice: A Survey and Historical Analysis
    Haas, Roman
    Noemmer, Raphael
    Juergens, Elmar
    Apel, Sven
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (08) : 2005 - 2020
  • [6] RESEARCH NOTES-GMRepair: Graph Mining Template-Based Automated Software Repair
    Cao, Heling
    Guo, Yanlong
    Wang, Yun
    Tian, Fangchao
    Wang, Zhaolong
    Chu, Yonghe
    Deng, Miaolei
    Wang, Panpan
    He, Zhenghao
    Wei, Shuting
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2025,
  • [7] GenProg: A Generic Method for Automatic Software Repair
    Le Goues, Claire
    ThanhVu Nguyen
    Forrest, Stephanie
    Weimer, Westley
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (01) : 54 - 72
  • [8] GenProgJS']JS: A Baseline System for Test-Based Automated Repair of Java']JavaScript Programs
    Csuvik, Viktor
    Horvath, Daniel
    Lajko, Mark
    Vidacs, Laszlo
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (02) : 325 - 343
  • [9] Pre-Trained Model-Based Automated Software Vulnerability Repair: How Far are We?
    Zhang, Quanjun
    Fang, Chunrong
    Yu, Bowen
    Sun, Weisong
    Zhang, Tongke
    Chen, Zhenyu
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2024, 21 (04) : 2507 - 2525
  • [10] Evolving Patches for Software Repair
    Ackling, Thomas
    Alexander, Brad
    Grunert, Ian
    GECCO-2011: PROCEEDINGS OF THE 13TH ANNUAL GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2011, : 1427 - 1434