SEDec 8, 2017

Mining Fix Patterns for FindBugs Violations

arXiv:1712.03201v2127 citations
AI Analysis

This work addresses the prioritization and automation of fixing software bugs for developers, but it is incremental as it builds on existing methods for pattern mining.

The paper tackles the problem of automatically identifying fix patterns for FindBugs violations by analyzing fixed and unfixed violations across software revisions, and results show that developers accepted 69 out of 116 generated fixes, with patterns applicable to four real bugs in the Defects4J benchmark.

In this paper, we first collect and track a large number of fixed and unfixed violations across revisions of software. The empirical analyses reveal that there are discrepancies in the distributions of violations that are detected and those that are fixed, in terms of occurrences, spread and categories, which can provide insights into prioritizing violations. To automatically identify patterns in violations and their fixes, we propose an approach that utilizes convolutional neural networks to learn features and clustering to regroup similar instances. We then evaluate the usefulness of the identified fix patterns by applying them to unfixed violations. The results show that developers will accept and merge a majority (69/116) of fixes generated from the inferred fix patterns. It is also noteworthy that the yielded patterns are applicable to four real bugs in the Defects4J major benchmark for software testing and automated repair.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes