Automatic Software Repair: A Survey

被引:253
作者
Gazzola, Luca [1 ]
Micucci, Daniela [1 ]
Mariani, Leonardo [1 ]
机构
[1] Univ Milano Bicocca, Dept Informat Syst & Commun DISCo, I-20126 Milan, Italy
基金
欧盟地平线“2020”;
关键词
Automatic program repair; generate and validate; search-based; semantics-driven repair; correct by construction; program synthesis; self-repairing; PROGRAM REPAIR; FRAMEWORK; SYSTEMS; BINARY;
D O I
10.1109/TSE.2017.2755013
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Despite their growing complexity and increasing size, modern software applications must satisfy strict release requirements that impose short bug fixing and maintenance cycles, putting significant pressure on developers who are responsible for timely producing high-quality software. To reduce developers workload, repairing and healing techniques have been extensively investigated as solutions for efficiently repairing and maintaining software in the last few years. In particular, repairing solutions have been able to automatically produce useful fixes for several classes of bugs that might be present in software programs. A range of algorithms, techniques, and heuristics have been integrated, experimented, and studied, producing a heterogeneous and articulated research framework where automatic repair techniques are proliferating. This paper organizes the knowledge in the area by surveying a body of 108 papers about automatic software repair techniques, illustrating the algorithms and the approaches, comparing them on representative examples, and discussing the open challenges and the empirical evidence reported so far.
引用
收藏
页码:34 / 67
页数:34
相关论文
共 174 条
[1]   On the accuracy of spectrum-based fault localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, :89-+
[2]   Spectrum-based Multiple Fault Localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :88-99
[3]  
Ackling T, 2011, GECCO-2011: PROCEEDINGS OF THE 13TH ANNUAL GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, P1427
[4]  
Alkhalaf Muath, 2014, P 2014 INT S SOFTWAR
[5]   Syntax-Guided Synthesis [J].
Alur, Rajeev ;
Bodik, Rastislav ;
Dallal, Eric ;
Fisman, Dana ;
Garg, Pranav ;
Juniwal, Garvit ;
Kress-Gazit, Hadas ;
Madhusudan, P. ;
Martin, Milo M. K. ;
Raghothaman, Mukund ;
Saha, Shamwaditya ;
Seshia, Sanjit A. ;
Singh, Rishabh ;
Solar-Lezama, Armando ;
Torlak, Emina ;
Udupa, Abhishek .
DEPENDABLE SOFTWARE SYSTEMS ENGINEERING, 2015, 40 :1-25
[6]  
[Anonymous], P NETW DISTR SYST S
[7]  
[Anonymous], P INT C OBJ OR PROGR
[8]  
[Anonymous], HAL01206501
[9]  
[Anonymous], PROC INT CONF SOFTW
[10]  
[Anonymous], 2013, TECH REP MIT CSAIL T