A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark

05/09/2018
by   He Ye, et al.
0

Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an automatic repair experiment on a benchmark called QuixBugs that has been recently published. This benchmark has never been studied in the context of program repair. In this study, we report on the characteristics of QuixBugs, and we design and perform an experiment about the effectiveness of test-suite based program repair on QuixBugs. We study two repair systems, Astor and Nopol, which are representatives of generate-and-validate repair technique and synthesis repair technique respectively. We propose three patch correctness assessment techniques to comprehensively study overfitting and incorrect patches. Our key results are: 1) 13 / 40 buggy programs in the QuixBugs can be repaired with a test-suite adequate patch; 2) a total of 22 different plausible patches for those 13 buggy programs in the QuixBugs are present in the search space of the considered tools; 3) the three patch assessment techniques discard in total 12 / 22 patches that are overfitting. This sets a baseline for future research of automatic repair on QuixBugs. Our experiment also highlights the major properties and challenges of how to perform automated correctness assessment of program repair patches. All experimental results are publicly available on Github in order to facilitate future research on automatic program repair.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/04/2018

Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset

Defects4J is a large, peer-reviewed, structured dataset of real-world Ja...
research
11/23/2022

Program Repair

Automated program repair is an emerging technology which consists of a s...
research
09/30/2019

Automated Patch Assessment for Program Repair at Scale

In this paper, we do automatic correctness assessment for patches genera...
research
12/11/2020

A Comprehensive Study of Code-removal Patches in Automated Program Repair

Automatic Program Repair (APR) techniques can promisingly help reducing ...
research
12/11/2017

Open-ended Exploration of the Program Repair Search Space with Mined Templates: the Next 8935 Patches for Defects4J

In this paper our goal is to perform an open-ended exploration of the pr...
research
11/26/2020

FlexiRepair: Transparent Program Repair with Generic Patches

Template-based program repair research is in need for a common ground to...
research
11/05/2020

Obstacles in Fully Automatic Program Repair: A survey

The current article is an interdisciplinary attempt to decipher automati...

Please sign up or login with your details

Forgot password? Click here to reset