E-APR: mapping the effectiveness of Automated Program Repair techniques

Aldeida Aleti, Matias Martinez

Research output: Contribution to journalArticleResearchpeer-review

6 Citations (Scopus)


Automated Program Repair (APR) is a fast growing area with numerous new techniques being developed to tackle one of the most challenging software engineering problems. APR techniques have shown promising results, giving us hope that one day it will be possible for software to repair itself. In this paper, we focus on the problem of objective performance evaluation of APR techniques. We introduce a new approach, Explaining Automated Program Repair (E-APR), which identifies features of buggy programs that explain why a particular instance is difficult for an APR technique. E-APR is used to examine the diversity and quality of the buggy programs used by most researchers, and analyse the strengths and weaknesses of existing APR techniques. E-APR visualises an instance space of buggy programs, with each buggy program represented as a point in the space. The instance space is constructed to reveal areas of hard and easy buggy programs, and enables the strengths and weaknesses of APR techniques to be identified.

Original languageEnglish
Article number99
Number of pages30
JournalEmpirical Software Engineering
Issue number5
Publication statusPublished - 13 Jul 2021


  • Automated program repair
  • Software features

Cite this