Applying Genetic Programming with Similar Bug Fix Information to Automatic Fault Repair

被引:4
作者
Yang, Geunseok [1 ]
Jeong, Youngjun [1 ]
Min, Kyeongsic [1 ]
Lee, Jung-won [2 ]
Lee, Byungjeong [1 ]
机构
[1] Univ Seoul, Dept Comp Sci, Seoul 02504, South Korea
[2] Ajou Univ, Dept Elect & Comp Engn, Suwon 16499, South Korea
来源
SYMMETRY-BASEL | 2018年 / 10卷 / 04期
基金
新加坡国家研究基金会;
关键词
automatic fault repair; genetic programming; bug fix information; software maintenance; CODE; SET;
D O I
10.3390/sym10040092
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
Owing to the high complexity of recent software products, developers cannot avoid major/minor mistakes, and software bugs are generated during the software development process. When developers manually modify a program source code using bug descriptions to fix bugs, their daily workloads and costs increase. Therefore, we need a way to reduce their workloads and costs. In this paper, we propose a novel automatic fault repair method by using similar bug fix information based on genetic programming (GP). First, we searched for similar buggy source codes related to the new given buggy code, and then we searched for a fixed the buggy code related to the most similar source code. Next, we transformed the fixed code into abstract syntax trees for applying GP and generated the candidate program patches. In this step, we verified the candidate patches by using a fitness function based on given test cases to determine whether the patch was valid or not. Finally, we produced program patches to fix the new given buggy code.
引用
收藏
页数:13
相关论文
共 24 条
[1]  
[Anonymous], 2017, P S APPL COMP SAC 17, DOI DOI 10.1145/3019612.3019788
[2]   GENETIC ALGORITHMS - PRINCIPLES OF NATURAL-SELECTION APPLIED TO COMPUTATION [J].
FORREST, S .
SCIENCE, 1993, 261 (5123) :872-878
[3]   Using Knowledge Transfer and Rough Set to Predict the Severity of Android Test Reports via Text Mining [J].
Guo, Shikai ;
Chen, Rong ;
Li, Hui .
SYMMETRY-BASEL, 2017, 9 (08)
[4]  
Nguyen HDT, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P772, DOI 10.1109/ICSE.2013.6606623
[5]   CCFinder: A multilinguistic token-based code clone detection system for large scale source code [J].
Kamiya, T ;
Kusumoto, S ;
Inoue, K .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (07) :654-670
[6]  
Kim D, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P802, DOI 10.1109/ICSE.2013.6606626
[7]   GenProg: A Generic Method for Automatic Software Repair [J].
Le Goues, Claire ;
ThanhVu Nguyen ;
Forrest, Stephanie ;
Weimer, Westley .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (01) :54-72
[8]   The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs [J].
Le Goues, Claire ;
Holtschulte, Neal ;
Smith, Edward K. ;
Brun, Yuriy ;
Devanbu, Premkumar ;
Forrest, Stephanie ;
Weimer, Westley .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (12) :1236-1256
[9]  
Le Goues C, 2012, PROC INT CONF SOFTW, P3, DOI 10.1109/ICSE.2012.6227211
[10]   Staged Program Repair with Condition Synthesis [J].
Long, Fan ;
Rinard, Martin .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :166-178