English

TBar: Revisiting Template-based Automated Program Repair

Software Engineering 2019-06-07 v2

Abstract

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).

Keywords

Cite

@article{arxiv.1903.08409,
  title  = {TBar: Revisiting Template-based Automated Program Repair},
  author = {Kui Liu and Anil Koyuncu and Dongsun Kim and Tegawendé F. Bissyandé},
  journal= {arXiv preprint arXiv:1903.08409},
  year   = {2019}
}

Comments

Accepted by ISSTA 2019

R2 v1 2026-06-23T08:13:43.997Z