You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systems

12/18/2018
by   Kui Liu, et al.
0

Properly benchmarking Automated Program Repair (APR) systems should contribute to the development and adoption of the research outputs by practitioners. To that end, the research community must ensure that it reaches significant milestones by reliably comparing state-of-the-art tools for a better understanding of their strengths and weaknesses. In this work, we identify and investigate a practical bias caused by the fault localization (FL) step in a repair pipeline. We propose to highlight the different fault localization configurations used in the literature, and their impact on APR systems when applied to the Defects4J benchmark. Then, we explore the performance variations that can be achieved by `tweaking' the FL step. Eventually, we expect to create a new momentum for (1) full disclosure of APR experimental procedures with respect to FL, (2) realistic expectations of repairing bugs in Defects4J, as well as (3) reliable performance comparison among the state-of-the-art APR systems, and against the baseline performance results of our thoroughly assessed kPAR repair tool. Our main findings include: (a) only a subset of Defects4J bugs can be currently localized by commonly-used FL techniques; (b) current practice of comparing state-of-the-art APR systems (i.e., counting the number of fixed bugs) is potentially misleading due to the bias of FL configurations; and (c) APR authors do not properly qualify their performance achievement with respect to the different tuning parameters implemented in APR systems.

READ FULL TEXT
research
10/03/2019

Can Automated Program Repair Refine Fault Localization?

Software bugs are prevalent in modern software systems and notoriously h...
research
11/16/2020

Automatically Repairing Programs Using Both Tests and Bug Reports

The success of automated program repair (APR) depends significantly on i...
research
03/20/2019

TBar: Revisiting Template-based Automated Program Repair

Fix patterns (a.k.a fix templates) are the main ingredients that drive a...
research
12/28/2022

A Bayesian Framework for Automated Debugging

Debugging takes up a significant portion of developer time. As a result,...
research
12/09/2017

FPA-FL: Incorporating Static Fault-proneness Analysis into Statistical Fault Localization

Despite the proven applicability of the statistical methods in automatic...
research
09/19/2018

DroidBugs: An Android Benchmark for Automated Program Repair

Automated Program Repair (APR) is an emerging research field. Many APR t...
research
08/10/2023

A Preliminary Evaluation of LLM-Based Fault Localization

Large Language Models (LLMs) have shown a surprising level of performanc...

Please sign up or login with your details

Forgot password? Click here to reset