Elixir: Effective object-oriented program repair

12/21/2021
by   Ripon K. Saha, et al.
0

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 26) and by 57 out-performing other state-of-the-art repair techniques including ACS, HD-Repair, NOPOL, PAR, and jGenProg.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2018

Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4J

Well-designed and publicly available datasets of bugs are an invaluable ...
research
03/11/2019

Revisiting ssFix for Better Program Repair

A branch of automated program repair (APR) techniques look at finding an...
research
02/09/2018

Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg

During last years, researches have proposed novel repair approaches that...
research
10/30/2018

Multi-Location Program Repair: Roads Ahead

Automated program repair (APR) has great potential to reduce the effort ...
research
11/06/2021

Automatic Program Repair with OpenAI's Codex: Evaluating QuixBugs

OpenAI's Codex, a GPT-3 like model trained on a large code corpus, has m...
research
02/10/2020

E-APR: Mapping the Effectiveness of Automated Program Repair

Automated Program Repair (APR) is a fast growing area with many new tech...
research
08/16/2023

LeakPair: Proactive Repairing of Memory Leaks in Single Page Web Applications

Modern web applications often resort to application development framewor...

Please sign up or login with your details

Forgot password? Click here to reset