Attention Please: Consider Mockito when Evaluating Newly Proposed Automated Program Repair Techniques

12/13/2018
by   Shangwen Wang, et al.
0

Automated program repair (APR) has attracted widespread attention in recent years with substantial techniques being proposed. Meanwhile, a number of benchmarks have been established for evaluating the performances of APR techniques, among which Defects4J is one of the most wildly used benchmark. However, bugs in Mockito, a project augmented in a later-version of Defects4J, do not receive much attention by recent researches. In this paper, we aim at investigating the necessity of considering Mockito bugs when evaluating APR techniques. Our findings show that: 1) Mockito bugs are not more complex for repairing compared with bugs from other projects; 2) the bugs repaired by the state-of-the-art tools share the same repair patterns compared with those patterns required to repair Mockito bugs; however, 3) the state-of-the-art tools perform poorly on Mockito bugs (Nopol can only correctly fix one bug while SimFix and CapGen cannot fix any bug in Mockito even if all the buggy locations have been exposed). We conclude from these results that existing APR techniques may be overfitting to their evaluated subjects and we should consider Mockito, or even more bugs from other projects, when evaluating newly proposed APR techniques. We further find out a unique repair action required to repair Mockito bugs named external package addition. Importing the external packages from the test code associated with the source code is feasible for enlarging the search space and this action can be augmented with existing repair actions to advance existing techniques.

READ FULL TEXT
research
12/13/2018

Attention Please: Consider Mockito when Evaluating Newly Released Automated Program Repair Techniques

Automated program repair (APR) has caused widespread concern in recent y...
research
03/11/2019

Revisiting ssFix for Better Program Repair

A branch of automated program repair (APR) techniques look at finding an...
research
12/21/2022

Improving Automated Program Repair with Domain Adaptation

Automated Program Repair (APR) is defined as the process of fixing a bug...
research
09/12/2023

RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair

Automatic program repair (APR) is crucial to reduce manual debugging eff...
research
09/15/2023

Practical Program Repair via Preference-based Ensemble Strategy

To date, over 40 Automated Program Repair (APR) tools have been designed...
research
09/19/2018

DroidBugs: An Android Benchmark for Automatic Program Repair

Automated Program Repair (APR) is an emerging research field. Many APR t...
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...

Please sign up or login with your details

Forgot password? Click here to reset