AmaLgam+ Composing Rich Information Sources for Accurate Bug Localization
During the evolution of a software system, a large number of bug reports are submitted. Locating the source code files that need to be fixed to resolve the bugs is a challenging problem. Thus, there is a need for a technique that can automatically figure out these buggy files. A number of bug localization solutions that take in a bug report and output a ranked list of files sorted based on their likelihood to be buggy have been proposed in the literature. However, the accuracy of these tools still needs to be improved. In this paper, to address this need, we propose AmaLgam+ which is a method for locating relevant buggy files that puts together fives sources of information, namely, version history, similar reports, structure, stack traces, and reporter information. We perform a large scale experiment on four open source projects, namely, AspectJ, Eclipse, SWT, and ZXing to localize more than 3000 bugs. We compare AmaLgam with several state of the art approaches including AmaLgam, BLUiR+ BRtracer+ BugLocator, and TFIDF DHbPd. These approaches leverage one or several of the sources of information analyzed by AmaLgam+ but not all of them. On average, AmaLgam achieves a 6.0% improvement over AmaLgam, which merges three sources of information, in terms of Mean Average Precision (MAP) For AspectJ and Eclipse datasets, in which there are many bug reports with stack traces and many reporters submit multiple bug reports, AmaLgam achieves a 12.0% improvement over AmaLgam in terms of MAP. Compared with the other state of the art approaches, AmaLgam achieves an improvement of 20.3% 22.5% 33.1% and 73.9% over BLUiR+ BRtracer+ BugLocator, and TFIDF DHbPd in terms of MAP, respectively. Copyright (c) 2016 John Wiley Sons, Ltd.
J. Softw. Evol. Process.