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 条
  • [41] Automated Software Analysis
    Veith, Helmut
    11TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2009), 2009, : 18 - 18
  • [42] Software maintenance versus software evolution: An approach to software systems evolution
    Parets, J
    Torres, JC
    IEEE SYMPOSIUM AND WORKSHOP ON ENGINEERING OF COMPUTER-BASED SYSTEMS, PROCEEDINGS, 1996, : 134 - 141
  • [43] Automated software and hardware evolution analysis for distributed real-time and embedded systems
    Dougherty, Brian
    White, Jules
    Schmidt, Douglas C.
    OPEN COMPUTER SCIENCE, 2011, 1 (01): : 36 - 57
  • [44] Automated Program Repair
    Le Goues, Claire
    Pradel, Michael
    Roychoudhury, Abhik
    COMMUNICATIONS OF THE ACM, 2019, 62 (12) : 56 - 65
  • [45] Automated Choreography Repair
    Basu, Samik
    Bultan, Tevfik
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2016), 2016, 9633 : 13 - 30
  • [46] Software Evolution or Software Enhancement?
    Kurtel, Kaan
    Eren, Saban
    2018 3RD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ENGINEERING (UBMK), 2018, : 390 - 395
  • [47] Evolutionary Software Repair
    Forrest, Stephanie
    LeGoues, Claire
    PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON GENETIC AND EVOLUTIONARY COMPUTATION COMPANION (GECCO'12), 2012, : 1345 - 1347
  • [48] 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
  • [49] Toward More Effective Deep Learning-based Automated Software Vulnerability Prediction, Classification, and Repair
    Fu, Michael
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 208 - 212