Software developers in large projects work in complex information landscapes and staying on top of all relevant software artifacts is an acknowledged challenge. Comparison with the state-of-the-art techniques and their variants report that our technique can improve 19% in and 20% in over the state-of-the-art, and can improve 59% of the noisy queries and 39% of the poor queries. Experiments using 5,139 bug reports show that our technique can localize the buggy source documents with 7% - 56% higher 6% - 62% higher and 6% - 62% higher than the baseline technique. In particular, our technique determines whether there are excessive program entities or not in a bug report (query), and then applies appropriate reformulations to the query for bug localization.
In this paper, we propose a novel technique - BLIZZARD - that automatically localizes buggy entities from project source using appropriate query reformulation and effective information retrieval. Conversely, excessive structured information (e.g., stack traces) in the bug report might not always help the automated localization either. Recent findings suggest that Information Retrieval (IR)-based bug localization techniques do not perform well if the bug report lacks rich structured information (e.g., relevant program entity names). These results show the applicability of our approach to software projects without history. Over the projects analysed, on average we find one or more affected files in the top 10 ranked files for 76% of the bug reports. Out of 30 performance indicators, we improve 27 and equal 2. We compare our approach to eight others, using their own five metrics on their own six open source projects.
The scoring method is based on heuristics identified through manual inspection of a small sample of bug reports. We present a novel approach that directly scores each current file against the given report, thus not requiring past code and reports.
However, current state-of-the-art IR approaches rely on project history, in particular previously fixed bugs or previous versions of the source code. Such approaches have the advantage of not requiring expensive static or dynamic analysis of the code. via a bug report, where is it located in the source code? Information retrieval (IR) approaches see the bug report as the query, and the source code files as the documents to be retrieved, ranked by relevance. Bug localisation is a core program comprehension task in software maintenance: given the observation of a bug, e.g.