Benchmarking and Categorizing the Performance of Neural Program Repair Systems for Java

Wenkang Zhong,Chuanyi Li,Kui Liu,Jidong Ge,Bin Luo,Tegawendé F. Bissyandé,Vincent Ng
DOI: https://doi.org/10.1145/3688834
IF: 3.685
2024-01-01
ACM Transactions on Software Engineering and Methodology
Abstract:Recent years have seen a rise in neural program repair systems in the software engineering community, which adopt advanced deep learning techniques to automatically fix bugs. Having a comprehensive understanding of existing systems can facilitate new improvements in this area and provide practical instructions for users. However, we observe two potential weaknesses in the current evaluation of NPR systems: ① published systems are trained with varying data, and ② NPR systems are roughly evaluated through the number of totally fixed bugs. Questions such as “what types of bugs are repairable for current systems” cannot be answered yet. Consequently, researchers can not make target improvements in this area and users have no idea of the real affair of existing systems. In this paper, we perform a systematic evaluation of the existing nine state-of-the-art NPR systems. To perform a fair and detailed comparison, we (1) build a new benchmark and framework that supports training and validating the nine systems with unified data, and (2) evaluate retrained systems with detailed performance analysis, especially on the effectiveness and the efficiency. We believe our benchmark tool and evaluation results could offer practitioners the real affairs of current NPR systems and the implications of further facilitating the improvements of NPR.
What problem does this paper attempt to address?