AVATA R : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations

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

Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the patches obtained with mutation operators through genetic programming. The performance of pattern-based APR systems, however, depends on the fix ingredients mined from fix changes in development histories. Unfortunately, collecting a reliable set of bug fixes in repositories can be challenging. In this paper, we propose to investigate the possibility in an APR scenario of leveraging code changes that address violations by static bug detection tools. To that end, we build the AVATAR APR system, which exploits fix patterns of static analysis violations as ingredients for patch generation. Evaluated on the Defects4J benchmark, we show that, assuming a perfect localization of faults, AVATAR can generate correct patches to fix 35/40 bugs. We further find that AVATAR yields performance metrics that are comparable to that of the closely-related approaches in the literature. While AVATAR outperforms many of the state-of-the-art pattern-based APR systems, it is mostly complementary to current approaches. Overall, our study highlights the relevance of static bug finding tools as indirect contributors of fix ingredients for addressing code defects identified with functional test cases.

READ FULL TEXT
research
12/18/2018

AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violations

Fix pattern-based patch generation is a promising direction in Automated...
research
07/12/2019

iFixR: Bug Report driven Program Repair

Issue tracking systems are commonly used in modern software development ...
research
02/19/2020

A Recurrent Neural Network Based Patch Recommender for Linux Kernel Bugs

Software bugs in a production environment have an undesirable impact on ...
research
11/10/2021

Towards More Reliable Automated Program Repair by Integrating Static Analysis Techniques

A long-standing open challenge for automated program repair is the overf...
research
05/06/2023

Accelerating Patch Validation for Program Repair with Interception-Based Execution Scheduling

Long patch validation time is a limiting factor for automated program re...
research
02/07/2023

Impact of Combining Syntactic and Semantic Similarities on Patch Prioritization while using the Insertion Mutation Operators

Patch prioritization ranks candidate patches based on their likelihood o...
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...

Please sign up or login with your details

Forgot password? Click here to reset