Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context

Research output: Contribution to journalArticlepeer-review

Abstract

Although program repair is a tremendous aspect of a software system, it can be extremely challenging. An Automated Program Repair (APR) technique has been proposed to solve this problem. Among them, template-based APR shows good performance. One of the key properties of the template-based APR technique for practical use is its efficiency. However, because the existing techniques mainly focus on performance improvement, they do not sufficiently consider the efficiency. In this study, we propose EffiGenC, which efficiently explores the patch ingredient search space to improve the overall efficiency of the template-based APR. EffiGenC defines the context using the concept of extended reaching definition from compiler theory. EffiGenC constructs the search space by collecting the ingredient required for patching in the context. We evaluated EffiGenC on the Defects4j benchmark. EffiGenC decreases the number of candidate patches from 27% to 86% compared to existing techniques. EffiGenC also correctly/plausibly fixes 47/72 bugs. For Future work, we will solve the search space problem that exists in multiline bugs using context.

Original languageEnglish
Article number179
JournalElectronics (Switzerland)
Volume12
Issue number1
DOIs
StatePublished - Jan 2023

Keywords

  • automated program repair
  • context
  • patch ingredient
  • search space
  • search-based repair
  • software verification and validation

Fingerprint

Dive into the research topics of 'Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context'. Together they form a unique fingerprint.

Cite this