Title
Visualizing Code Genealogy: How Code is Evolutionarily Fixed in Program Repair?
Abstract
Automated program repair (in short, APR) techniques that utilize genetic algorithm (in short, GA) have a capability of repairing programs even if the programs require multiple code fragments to be changed. Those techniques repeat program generation, program evaluation, and program selection until a generated program passes all given test cases. Those techniques occasionally generate a large number of programs before a repaired program is generated. Thus, it is difficult to understand how an input program is evolved in the loop processing of genetic algorithm. In this paper, we are inspired by genealogy and propose a new technique to visualize program evolution in the process of automated program repair. We have implemented the proposed technique as a software tool for kGenProg, which is one of GA-based APR tools. We evaluated the proposed technique with the developers of kGenProg. In the evaluation, the developers found latent issues in kGenProg's processing and came up with new ideas to improve program generation. From those results, we conclude that our visualization is useful to understand program evolution in the APR process.
Year
DOI
Venue
2019
10.1109/VISSOFT.2019.00011
2019 Working Conference on Software Visualization (VISSOFT)
Keywords
Field
DocType
Automated Program Repair,Code Genealogy,Evolution History,Visualization,Genetic Algorithm
Software tool,Computer science,Visualization,Genealogy,Test case,Program evolution,Genetic algorithm,Program evaluation
Conference
ISBN
Citations 
PageRank 
978-1-7281-4940-0
1
0.36
References 
Authors
5
4
Name
Order
Citations
PageRank
Yuya Tomida140.82
Yoshiki Higo256046.90
Shinsuke Matsumoto320533.53
Shinji Kusumoto41811137.88