TY - GEN
T1 - Interactive Patch Filtering as Debugging Aid
AU - Liang, Jingjing
AU - Ji, Ruyi
AU - Jiang, Jiajun
AU - Zhou, Shurui
AU - Lou, Yiling
AU - Xiong, Yingfei
AU - Huang, Gang
N1 - This work is supported in part by the National Key Research and Development Program of China No. 2019YFE0198100, National Natural Science Foundation of China under Grant No. 61922003. Yingfei Xiong is the corresponding author.
PY - 2021
Y1 - 2021
N2 - It is widely recognized that patches generated by program repair tools have to be correct to be useful. However, it is fundamentally difficult to ensure the correctness of the patches. Many tools generate only the patches that are highly likely to be correct by taking conservative strategies which inevitably limit the recall of APR approaches. While the recall of APR can potentially be improved by relaxing the requirement on precision, more incorrect patches may also be generated. In this paper, we conjecture that reviewing incorrect patches also helps developers to understand the bug, and with proper tool support, reviewing incorrect patches would at least not reduce the repair performance. To evaluate this, we propose an interactive patch filtering approach to facilitate developers in the patch review process via effectively filtering out groups of incorrect patches. We implemented the approach as an Eclipse plugin, InPaFer, and evaluated the effectiveness and usefulness with a mixed-method evaluation. The results show that our approach improves the repair performance of developers, with 62.5% more successfully repaired bugs and 25.3% less debugging time. In particular, even if all generated patches are incorrect, the performance of developers would not be significantly reduced, and could still be improved. Our work provides a new way of thinking for the APR research.
AB - It is widely recognized that patches generated by program repair tools have to be correct to be useful. However, it is fundamentally difficult to ensure the correctness of the patches. Many tools generate only the patches that are highly likely to be correct by taking conservative strategies which inevitably limit the recall of APR approaches. While the recall of APR can potentially be improved by relaxing the requirement on precision, more incorrect patches may also be generated. In this paper, we conjecture that reviewing incorrect patches also helps developers to understand the bug, and with proper tool support, reviewing incorrect patches would at least not reduce the repair performance. To evaluate this, we propose an interactive patch filtering approach to facilitate developers in the patch review process via effectively filtering out groups of incorrect patches. We implemented the approach as an Eclipse plugin, InPaFer, and evaluated the effectiveness and usefulness with a mixed-method evaluation. The results show that our approach improves the repair performance of developers, with 62.5% more successfully repaired bugs and 25.3% less debugging time. In particular, even if all generated patches are incorrect, the performance of developers would not be significantly reduced, and could still be improved. Our work provides a new way of thinking for the APR research.
KW - Interactive debugging
KW - Patch filtering
KW - Program repair
KW - User study
UR - https://www.scopus.com/pages/publications/85123381756
UR - https://www.scopus.com/pages/publications/85123381756#tab=citedBy
U2 - 10.1109/ICSME52107.2021.00028
DO - 10.1109/ICSME52107.2021.00028
M3 - Conference contribution
AN - SCOPUS:85123381756
T3 - Proceedings - 2021 IEEE International Conference on Software Maintenance and Evolution, ICSME 2021
SP - 239
EP - 250
BT - Proceedings - 2021 IEEE International Conference on Software Maintenance and Evolution, ICSME 2021
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 37th IEEE International Conference on Software Maintenance and Evolution, ICSME 2021
Y2 - 27 September 2021 through 1 October 2021
ER -