Bug localization represents one of the most expensive, as well as time-consuming, activities during software maintenance and evolution. To alleviate the workload of developers, numerous methods have been proposed to automate this process and narrow down the scope of reviewing buggy¯les. In this paper, we present a novel buggy source-¯le localization approach, using the information from both the bug reports and the source¯les. We leverage the part-of-speech features of bug reports and the invocation relationship among source¯les. We also integrate an adaptive technique to further optimize the performance of the approach. The adaptive technique discriminates Top 1 and Top N recommendations for a given bug report and consists of two modules. One module is to maximize the accuracy of the¯rst recommended¯le, and the other one aims at improving the accuracy of the¯xed defect¯le list. We evaluate our approach on six large-scale open source projects, i.e. ASpectJ, Eclipse, SWT, Zxing, Birt and Tomcat. Compared to the previous work, empirical results show that our approach can improve the overall prediction performance in all of these cases. Particularly, in terms of the Top 1 recommendation accuracy, our approach achieves an enhancement from 22.73% to 39.86% for ASpectJ, from 24.36% to 30.76% for Eclipse, from 31.63% to 46.94% for SWT, from 40% to 55% for ZXing, from 7.97% to 21.99% for Birt, and from 33.37% to 38.90% for Tomcat.
Zhou et al. REF leveraged the part-of-speech features of bug reports and the invocation relationship among source files to locate bugs.
Augmenting bug localization with part-of-speech and invocation
International Journal of Software Engineering and Knowledge Engineering
International Journal of Software Engineering and Knowledge Engineering
Computer Science