Publication Type

Journal Article

Version

publishedVersion

Publication Date

10-2016

Abstract

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.

Keywords

bug localization, reporter information, similar report, stack traces, structure, version history

Discipline

Computer Sciences | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

Journal of Software: Evolution and Process

Volume

28

Issue

10

First Page

921

Last Page

942

ISSN

2047-7473

Identifier

10.1002/smr.1801

Publisher

Wiley: 12 months

Additional URL

http://doi.org/10.1002/smr.1801

Share

COinS