Representations and Operators for Improving Evolutionary Software Repair

被引:45
作者
Le Goues, Claire [1 ]
Weimer, Westley [1 ]
Forrest, Stephanie
机构
[1] Univ Virginia, Charlottesville, VA 22903 USA
来源
PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE | 2012年
关键词
Representation; crossover; mutation; search-based software engineering; software repair; genetic programming;
D O I
10.1145/2330163.2330296
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Evolutionary computation is a promising technique for automating time-consuming and expensive software maintenance tasks, including bug repair. The success of this approach, however, depends at least partially on the choice of representation, fitness function, and operators. Previous work on evolutionary software repair has employed different approaches, but they have not yet been evaluated in depth. This paper investigates representation and operator choices for source-level evolutionary program repair in the GenProg framework [17], focusing on: (1) representation of individual variants, (2) crossover design, (3) mutation operators, and (4) search space definition. We evaluate empirically on a dataset comprising 8 C programs totaling over 5.1 million lines of code and containing 105 reproducible, human-confirmed defects. Our results provide concrete suggestions for operator and representation design choices for evolutionary program repair. When augmented to incorporate these suggestions, GenProg repairs 5 additional bugs (60 vs. 55 out of 105), with a decrease in repair time of 17-43% for the more difficult repair searches.
引用
收藏
页码:959 / 966
页数:8
相关论文
共 30 条
[1]  
Ackling T, 2011, GECCO-2011: PROCEEDINGS OF THE 13TH ANNUAL GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, P1427
[2]  
Al-Ekram Raihan., 2005, C CTR ADV STUDIES CO, P1
[3]  
Alba E, 2007, GECCO 2007: GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, VOL 1 AND 2, P1066
[4]  
[Anonymous], AUTOMATED SOFTWARE E
[5]  
[Anonymous], GEN EV COMP C
[6]  
[Anonymous], INT C SOFTW IN PRESS
[7]   Evolutionary repair of faulty software [J].
Arcuri, Andrea .
APPLIED SOFT COMPUTING, 2011, 11 (04) :3494-3514
[8]   A Novel Co-evolutionary Approach to Automatic Software Bug Fixing [J].
Arcuri, Andrea ;
Yao, Xin .
2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8, 2008, :162-168
[9]   Staffing a software project: A constraint satisfaction and optimization-based approach [J].
Barreto, Ahilton ;
Barros, Marcio de O. ;
Werner, Claudia M. L. .
COMPUTERS & OPERATIONS RESEARCH, 2008, 35 (10) :3073-3089
[10]  
Debroy Vidroha, 2010, Proceedings of the Third IEEE International Conference on Software Testing, Verification and Validation (ICST 2010), P65, DOI 10.1109/ICST.2010.66