Comparing Line and AST Granularity Level for Program Repair using PyGGI

被引:14
作者
An, Gabin [1 ]
Kim, Jinhan [1 ]
Yoo, Shin [1 ]
机构
[1] Korea Adv Inst Sci & Technol, Daejeon, South Korea
来源
2018 ACM/IEEE 4TH INTERNATIONAL GENETIC IMPROVEMENT WORKSHOP (GI@ICSE 2018) | 2018年
基金
新加坡国家研究基金会;
关键词
SOFTWARE;
D O I
10.1145/3194810.3194814
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
PyGGI is a lightweight Python framework that can be used to implement generic Genetic Improvement algorithms at the API level. The original version of PyGGI only provided lexical modifications, i.e., modifications of the source code at the physical line granularity level. This paper introduces new extensions to PyGGI that enables syntactic modifications for Python code, i.e., modifications that operates at the AST granularity level. Taking advantage of the new extensions, we also present a case study that compares the lexical and syntactic search granularity level for automated program repair, using ten seeded faults in a real world open source Python project. The results show that search landscapes at the AST granularity level are more effective (i.e. eventually more likely to produce plausible patches) due to the smaller sizes of ingredient spaces (i.e., the space from which we search for the material to build a patch), but may require longer time for search because the larger number of syntactically intact candidates leads to more fitness evaluations.
引用
收藏
页码:19 / 26
页数:8
相关论文
共 22 条
[1]  
An Gabin, 2017, P KOR SOFTW C KSC 20
[2]   The Plastic Surgery Hypothesis [J].
Barr, Earl T. ;
Brun, Yuriy ;
Devanbu, Premkumar ;
Harman, Mark ;
Sarro, Federica .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :306-317
[3]  
Binkley D., 2014, 22nd International Conference on Program Comprehension (Hyderabad, India, 2014), P26, DOI DOI 10.1145/2597008.2597150
[4]  
Rainville FM, 2012, PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON GENETIC AND EVOLUTIONARY COMPUTATION COMPANION (GECCO'12), P85
[5]  
Forrest Stephanie, 2009, P 11 ANN C GEN EV CO, P947
[6]  
Glover F., 1998, HDB COMBINATORIAL OP, P2093
[7]   Generalized Observational Slicing for Tree-Represented Modelling Languages [J].
Gold, Nicolas E. ;
Binkley, David ;
Harman, Mark ;
Islam, Syed ;
Krinke, Jens ;
Yoo, Shin .
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, :547-558
[8]   Fixing Bugs in Your Sleep: How Genetic Improvement Became an Overnight Success [J].
Haraldsson, Saemundur O. ;
Woodward, John R. ;
Brownlee, Alexander E., I ;
Siggeirsdottir, Kristin .
PROCEEDINGS OF THE 2017 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE COMPANION (GECCO'17 COMPANION), 2017, :1513-1520
[9]  
Kim D, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P802, DOI 10.1109/ICSE.2013.6606626
[10]   Optimizing Existing Software with Genetic Programming [J].
Langdon, William B. ;
Harman, Mark .
IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2015, 19 (01) :118-135