Leveraging Program Invariants to Promote Population Diversity in Search-Based Automatic Program Repair

被引:16
作者
Ding, Zhen Yu [1 ]
Lyu, Yiwei [2 ]
Timperley, Christopher [2 ]
Le Goues, Claire [2 ]
机构
[1] Univ Pittsburgh, Sch Comp & Informat, Pittsburgh, PA 15260 USA
[2] Carnegie Mellon Univ, Sch Comp Sci, Pittsburgh, PA 15213 USA
来源
2019 IEEE/ACM 6TH INTERNATIONAL WORKSHOP ON GENETIC IMPROVEMENT (GI@ICSE 2019) | 2019年
关键词
genetic programming; automated program repair; program semantics; invariant analysis; fitness function;
D O I
10.1109/GI.2019.00011
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Search-based automatic program repair has shown promise in reducing the cost of defects in real-world software. However, to date, such techniques have typically been most successful when constructing short or single-edit repairs. This is true even when techniques make use of heuristic search strategies, like genetic programming, that in principle support the construction of patches of arbitrary length. One key reason is that the fitness function traditionally depends entirely on test cases, which are poor at identifying partially correct solutions and lead to a fitness landscape with many plateaus. We propose a novel fitness function that optimizes for both functionality and semantic diversity, characterized using learned invariants over intermediate behavior. Our early results show that this new approach improves semantic diversity and fitness granularity, but does not statistically significantly improve repair performance.
引用
收藏
页码:2 / 9
页数:8
相关论文
共 37 条
[1]   Semantic analysis of program initialisation in genetic programming [J].
Beadle, Lawrence ;
Johnson, Colin G. .
GENETIC PROGRAMMING AND EVOLVABLE MACHINES, 2009, 10 (03) :307-337
[2]  
Burke E., 2002, GECCO 2002, P716
[3]  
D'haeseleer P., 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence (Cat. No.94TH0650-2), P256, DOI 10.1109/ICEC.1994.350006
[4]   A Novel Fitness Function for Automated Program Repair Based on Source Code Checkpoints [J].
de Souza, Eduardo Faria ;
Le Goues, Claire ;
Camilo, Celso Goncalves .
GECCO'18: PROCEEDINGS OF THE 2018 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2018, :1443-1450
[5]   A fast and elitist multiobjective genetic algorithm: NSGA-II [J].
Deb, K ;
Pratap, A ;
Agarwal, S ;
Meyarivan, T .
IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2002, 6 (02) :182-197
[6]  
Durieux T., 2016, Res. Rep. hal-01272126
[7]  
Eiben A. E., 2011, INTRO EVOLUTIONARY C
[8]   The Daikon system for dynamic detection of likely invariants [J].
Ernst, Michael D. ;
Perkins, Jeff H. ;
Guo, Philip J. ;
McCarnant, Stephen ;
Pacheco, Carlos ;
Tschantz, Matthew S. ;
Xiao, Chen .
SCIENCE OF COMPUTER PROGRAMMING, 2007, 69 (1-3) :35-45
[9]  
Fast E., 2010, Conference on Genetic and Evolutionary Computation, P965
[10]  
Feldt R., 1998, IEE Proceedings-Software, V145, P228, DOI 10.1049/ip-sen:19982444