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] Semi-automated architectural abstraction specifications for supporting software evolution
    Haitzer, Thomas
    Zdun, Uwe
    SCIENCE OF COMPUTER PROGRAMMING, 2014, 90 : 135 - 160
  • [32] Achieving delta description of the control software for an automated production system evolution
    Cha, Suhyun
    Weigl, Alexander
    Ulbrich, Mattias
    Beckert, Bernhard
    Vogel-Heuser, Birgit
    2018 IEEE 14TH INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE), 2018, : 1170 - 1176
  • [33] Software evolution and software evolution processes
    Lehman, MM
    Ramil, JF
    ANNALS OF SOFTWARE ENGINEERING, 2002, 14 (1-4) : 275 - 309
  • [34] Automated Optimization of Software Parameters in a Long Term Evolution Radio Base Station
    Mattos, David Issa
    Bosch, Jan
    Olsson, Helena Holmstrom
    Dakkak, Anas
    Bergh, Krister
    2019 13TH ANNUAL IEEE INTERNATIONAL SYSTEMS CONFERENCE (SYSCON), 2019,
  • [35] Large-Scale Automated Software Diversity-Program Evolution Redux
    Homescu, Andrei
    Jackson, Todd
    Crane, Stephen
    Brunthaler, Stefan
    Larsen, Per
    Franz, Michael
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2017, 14 (02) : 158 - 171
  • [36] 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,
  • [37] Sizing for Endovascular Aneurysm Repair: Clinical Evaluation of a New Automated Three-Dimensional Software
    Kaladji, Adrien
    Lucas, Antoine
    Kervio, Gaelle
    Haigron, Pascal
    Cardon, Alain
    ANNALS OF VASCULAR SURGERY, 2010, 24 (07) : 912 - 920
  • [38] Automated Software Winnowing
    Malecha, Gregory
    Gehani, Ashish
    Shankar, Natarajan
    30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II, 2015, : 1504 - 1511
  • [39] Automated software testing
    Parker, Tim
    Unix Review, 1995, 13 (01):
  • [40] Automated abstraction of software
    Ball, Thomas
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2006, 4218 : 8 - 8