SEDec 21, 2021

Elixir: Effective object-oriented program repair

arXiv:2112.10915v1228 citations
Originality Highly original
AI Analysis

This work addresses the challenge of automated program repair for object-oriented software, offering a significant improvement over existing state-of-the-art techniques.

The paper tackles the problem of repairing bugs in object-oriented programs by proposing ELIXIR, a generate-and-validate technique that aggressively uses method calls to construct expressive patches, resulting in an 85% increase in correctly repaired bugs on the Defects4J dataset (from 14 to 26) and a 57% increase on Bugs.jar (from 14 to 22).

This work is motivated by the pervasive use of method invocations in object-oriented (OO) programs, and indeed their prevalence in patches of OO-program bugs. We propose a generate-and-validate repair technique, called ELIXIR designed to be able to generate such patches. ELIXIR aggressively uses method calls, on par with local variables, fields, or constants, to construct more expressive repair-expressions, that go into synthesizing patches. The ensuing enlargement of the repair space, on account of the wider use of method calls, is effectively tackled by using a machine-learnt model to rank concrete repairs. The machine-learnt model relies on four features derived from the program context, i.e., the code surrounding the potential repair location, and the bug report. We implement ELIXIR and evaluate it on two datasets, the popular Defects4J dataset and a new dataset Bugs.jar created by us, and against 2 baseline versions of our technique, and 5 other techniques representing the state of the art in program repair. Our evaluation shows that ELIXIR is able to increase the number of correctly repaired bugs in Defects4J by 85% (from 14 to 26) and by 57% in Bugs.jar (from 14 to 22), while also significantly out-performing other state-of-the-art repair techniques including ACS, HD-Repair, NOPOL, PAR, and jGenProg.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes