A large-scale study on human-cloned changes for automated program repair

04/06/2021
by   Fernanda Madeiral, et al.
0

Research in automatic program repair has shown that real bugs can be automatically fixed. However, there are several challenges involved in such a task that are not yet fully addressed. As an example, consider that a test-suite-based repair tool performs a change in a program to fix a bug spotted by a failing test case, but then the same or another test case fails. This could mean that the change is a partial fix for the bug or that another bug was manifested. However, the repair tool discards the change and possibly performs other repair attempts. One might wonder if the applied change should be also applied in other locations in the program so that the bug is fully fixed. In this paper, we are interested in investigating the extent of bug fix changes being cloned by developers within patches. Our goal is to investigate the need of multi-location repair by using identical or similar changes in identical or similar contexts. To do so, we analyzed 3,049 multi-hunk patches from the ManySStuBs4J dataset, which is a large dataset of single statement bug fix changes. We found out that 68 one change clone group. Moreover, most of these patches (70 strictly-cloned ones, which are patches fully composed of changes belonging to one single change clone group. Finally, most of the strictly-cloned patches (89 contexts. We conclude that automated solutions for creating patches composed of identical or similar changes can be useful for fixing bugs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/21/2019

Harnessing Evolution for Multi-Hunk Program Repair

Despite significant advances in automatic program repair (APR)techniques...
research
07/30/2018

Towards an automated approach for bug fix pattern detection

The characterization of bug datasets is essential to support the evaluat...
research
12/16/2019

Human-In-The-Loop Automatic Program Repair

We introduce Learn2fix, the first human-in-the-loop, semi-automatic repa...
research
06/08/2020

ObjSim: Lightweight Automatic Patch Prioritization via Object Similarity

In the context of test case based automatic program repair (APR), patche...
research
03/01/2023

The Inversive Relationship Between Bugs and Patches: An Empirical Study

Software bugs pose an ever-present concern for developers, and patching ...
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
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 ...

Please sign up or login with your details

Forgot password? Click here to reset