TBar: Revisiting Template-based Automated Program Repair
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 Defects4J 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).
Wed 17 JulDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
11:00 - 12:30 | |||
11:00 22mTalk | Crash-avoiding Program Repair Technical Papers Xiang Gao National University of Singapore, Sergey Mechtaev University College London, Abhik Roychoudhury National University of Singapore | ||
11:22 22mTalk | Practical Program Repair via Bytecode Mutation Technical Papers Pre-print | ||
11:45 22mTalk | TBar: Revisiting Template-based Automated Program Repair Technical Papers Kui Liu , Anil Koyuncu University of Luxembourg, Luxembourg, Dongsun Kim Furiosa.ai, Tegawendé F. Bissyandé SnT, University of Luxembourg Pre-print | ||
12:07 22mTalk | History-driven Build Failure Fixing: How Far Are We? Technical Papers Yiling Lou Peking University, China, Junjie Chen Peking University, Lingming Zhang , Dan Hao Peking University, Lu Zhang Peking University |