Title :
Toward improving graftability on automated program repair
Author :
Soichi Sumi;Yoshiki Higo;Keisuke Hotta;Shinji Kusumoto
Author_Institution :
Graduate School of Information Science and Technology, Osaka University, Japan
Abstract :
In software evolution, many bugs occur and developers spend a long time to fix them. Program debugging is a costly and difficult task. Automated program repair is a promising way to reduce costs on program debugging dramatically. Several repair techniques reusing existing code lines have been proposed in the past. They reuse code lines already existing in the source code to generate variant source code of a given source code (if an inserted code line to fix a given bug is identical to any of the code lines in existing source code, we call the code line graftable). However, there are many bugs that such techniques cannot automatically repair. One of the reasons is that many bugs require code lines not existing in the source code of the software. In order to mitigate this issue, we are conducting our research with two ideas. The first idea is using a large dataset of source code to reuse code lines. The second idea is reusing only structures of code lines. Vocabularies are obtained from faulty code regions. In this paper, we report the feasibilities of the two ideas. More concretely, we found that the first and second ideas improved graftability of code lines to 43-59% and 56-64% from 34-54%, respectively. If we combine both the ideas, graftability was improved to 64-69%. In cases where we used the second idea, 24-49% variables used in reused code lines were able to be retrieved from the surrounding code of given faulty code regions.
Keywords :
"Software","Computer bugs","Maintenance engineering","Debugging","Vocabulary","Runtime","Genetic programming"
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on
DOI :
10.1109/ICSM.2015.7332504