TY - GEN
T1 - TBAR
T2 - 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2019
AU - Liu, Kui
AU - Koyuncu, Anil
AU - Kim, Dongsun
AU - Bissyandé, Tegawendé F.
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/7/10
Y1 - 2019/7/10
N2 - We revisit the performance of template-based APR to build comprehensive knowledge about the effectiveness of fix patterns, and to highlight the importance of complementary steps such as fault localization or donor code retrieval. To that end, we first investigate the literature to collect, summarize and label recurrently-used fix patterns. Based on the investigation, we build TBar, a straightforward APR tool that systematically attempts to apply these fix patterns to program bugs. We thoroughly evaluate TBar on the De-fects4J benchmark. In particular, we assess the actual qualitative and quantitative diversity of fix patterns, as well as their effectiveness in yielding plausible or correct patches. Eventually, we find that, assuming a perfect fault localization, TBar correctly/plausibly fixes 74/101 bugs. Replicating a standard and practical pipeline of APR assessment, we demonstrate that TBar correctly fixes 43 bugs from Defects4J, an unprecedented performance in the literature (including all approaches, i.e., template-based, stochastic mutation-based or synthesis-based APR).
AB - We revisit the performance of template-based APR to build comprehensive knowledge about the effectiveness of fix patterns, and to highlight the importance of complementary steps such as fault localization or donor code retrieval. To that end, we first investigate the literature to collect, summarize and label recurrently-used fix patterns. Based on the investigation, we build TBar, a straightforward APR tool that systematically attempts to apply these fix patterns to program bugs. We thoroughly evaluate TBar on the De-fects4J benchmark. In particular, we assess the actual qualitative and quantitative diversity of fix patterns, as well as their effectiveness in yielding plausible or correct patches. Eventually, we find that, assuming a perfect fault localization, TBar correctly/plausibly fixes 74/101 bugs. Replicating a standard and practical pipeline of APR assessment, we demonstrate that TBar correctly fixes 43 bugs from Defects4J, an unprecedented performance in the literature (including all approaches, i.e., template-based, stochastic mutation-based or synthesis-based APR).
KW - Automated program repair
KW - Empirical assessment
KW - Fix pattern
UR - http://www.scopus.com/inward/record.url?scp=85070617174&partnerID=8YFLogxK
U2 - 10.1145/3293882.3330577
DO - 10.1145/3293882.3330577
M3 - Conference contribution
AN - SCOPUS:85070617174
T3 - ISSTA 2019 - Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis
SP - 43
EP - 54
BT - ISSTA 2019 - Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis
A2 - Zhang, Dongmei
A2 - Moller, Anders
PB - Association for Computing Machinery, Inc
Y2 - 15 July 2019 through 19 July 2019
ER -