TY - GEN
T1 - AVATAR
T2 - 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019
AU - Liu, Kui
AU - Koyuncu, Anil
AU - Kim, Dongsun
AU - Bissyande, Tegawende F.
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/3/15
Y1 - 2019/3/15
N2 - Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the patches obtained with mutation operators through genetic programming. The performance of pattern-based APR systems, however, depends on the fix ingredients mined from fix changes in development histories. Unfortunately, collecting a reliable set of bug fixes in repositories can be challenging. In this paper, we propose to investigate the possibility in an APR scenario of leveraging code changes that address violations by static bug detection tools. To that end, we build the AVATAR APR system, which exploits fix patterns of static analysis violations as ingredients for patch generation. Evaluated on the Defects4J benchmark, we show that, assuming a perfect localization of faults, AVATAR can generate correct patches to fix 34/39 bugs. We further find that AVATAR yields performance metrics that are comparable to that of the closely-related approaches in the literature. While AVATAR outperforms many of the state-of-The-Art pattern-based APR systems, it is mostly complementary to current approaches. Overall, our study highlights the relevance of static bug finding tools as indirect contributors of fix ingredients for addressing code defects identified with functional test cases.
AB - Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the patches obtained with mutation operators through genetic programming. The performance of pattern-based APR systems, however, depends on the fix ingredients mined from fix changes in development histories. Unfortunately, collecting a reliable set of bug fixes in repositories can be challenging. In this paper, we propose to investigate the possibility in an APR scenario of leveraging code changes that address violations by static bug detection tools. To that end, we build the AVATAR APR system, which exploits fix patterns of static analysis violations as ingredients for patch generation. Evaluated on the Defects4J benchmark, we show that, assuming a perfect localization of faults, AVATAR can generate correct patches to fix 34/39 bugs. We further find that AVATAR yields performance metrics that are comparable to that of the closely-related approaches in the literature. While AVATAR outperforms many of the state-of-The-Art pattern-based APR systems, it is mostly complementary to current approaches. Overall, our study highlights the relevance of static bug finding tools as indirect contributors of fix ingredients for addressing code defects identified with functional test cases.
KW - Automated program repair
KW - fix pattern.
KW - static analysis
UR - http://www.scopus.com/inward/record.url?scp=85064184157&partnerID=8YFLogxK
U2 - 10.1109/SANER.2019.8667970
DO - 10.1109/SANER.2019.8667970
M3 - Conference contribution
AN - SCOPUS:85064184157
T3 - SANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering
SP - 456
EP - 467
BT - SANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering
A2 - Shihab, Emad
A2 - Lo, David
A2 - Wang, Xinyu
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 24 February 2019 through 27 February 2019
ER -