PraPR: Practical Program Repair via Bytecode Mutation

被引:23
作者
Ghanbari, Ali [1 ]
Zhang, Lingming [1 ]
机构
[1] Univ Texas Dallas, Richardson, TX 75080 USA
来源
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019) | 2019年
关键词
Program Repair; JVM Bytecode; Mutation Testing;
D O I
10.1109/ASE.2019.00116
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Automated program repair (APR) is one of the recent advances in automated software engineering aiming for reducing the burden of debugging by suggesting high-quality patches that either directly fix the bugs, or help the programmers in the course of manual debugging. We believe scalability, applicability, and accurate patch validation are the main design objectives for a practical APR technique. In this paper, we present PraPR, our implementation of a practical APR technique that operates at the level of JVM bytecode. We discuss design decisions made in the development of PraPR, and argue that the technique is a viable baseline toward attaining aforementioned objectives. Our experimental results show that: (1) PraPR can fix more bugs than state-of-the-art APR techniques and can be over 10X faster, (2) state-of-the-art APR techniques suffer from dataset overfitting, while the simplistic template-based PraPR performs more consistently on different datasets, and (3) PraPR can fix bugs for other JVM languages, such as Kotlin. PraPR is publicly available at https://github.com/prapr/prapr.
引用
收藏
页码:1118 / 1121
页数:4
相关论文
共 39 条
[1]  
[Anonymous], 2018, ISSTA
[2]  
[Anonymous], 2017, ICSE
[3]  
[Anonymous], 2013, Proceedings of the 2013 International Symposium on Software Testing and Analysis, ISSTA 2013
[4]  
[Anonymous], 2010, P 25 IEEEACM INT C A
[5]  
[Anonymous], ISSTA
[6]  
[Anonymous], 2018, ICSE
[7]  
[Anonymous], TAICPART MUTATION
[8]  
Benton S., 2019, ICSE
[9]  
Chen LS, 2017, IEEE INT CONF AUTOM, P637, DOI 10.1109/ASE.2017.8115674
[10]  
Debroy Vidroha, 2010, Proceedings of the Third IEEE International Conference on Software Testing, Verification and Validation (ICST 2010), P65, DOI 10.1109/ICST.2010.66