SEJul 21, 2015

Harvesting Fix Hints in the History of Bugs

arXiv:1507.05742v110 citations
Originality Incremental advance
AI Analysis

This addresses the time-consuming and cost-sensitive task of bug fixing for software developers, offering a novel method to leverage historical data for recommendations.

The paper tackles the problem of automating bug fixes by proposing a new approach that recommends fix actions based on historical bug reports and fixes, using information retrieval and machine learning to compare new bugs to past ones and provide top-k hints for developers.

In software development, fixing bugs is an important task that is time consuming and cost-sensitive. While many approaches have been proposed to automatically detect and patch software code, the strategies are limited to a set of identified bugs that were thoroughly studied to define their properties. They thus manage to cover a niche of faults such as infinite loops. We build on the assumption that bugs, and the associated user bug reports, are repetitive and propose a new approach of fix recommendations based on the history of bugs and their associated fixes. In our approach, once a bug is reported, it is automatically compared to all previously fixed bugs using information retrieval techniques and machine learning classification. Based on this comparison, we recommend top-{\em k} fix actions, identified from past fix examples, that may be suitable as hints for software developers to address the new bug.

Foundations

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

Your Notes