Publication Type

Conference Proceeding Article

Version

acceptedVersion

Publication Date

6-2014

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 need to be improved. In this paper, to address this need, we propose AmaLgam, a new method for locating relevant buggy files that puts together version history, similar reports, and structure. To do this, AmaLgam integrates a bug prediction technique used in Google which analyzes version history, with a bug localization technique named BugLocator which analyzes similar reports from bug report system, and the state-ofthe-art bug localization technique BLUiR which considers structure. We perform a large-scale experiment on four open source projects, namely AspectJ, Eclipse, SWT and ZXing to localize more than 3,000 bugs. Compared with a historyaware bug localization solution of Sisman and Kak, our approach achieves a 46.1% improvement in terms of mean average precision (MAP). Compared with BugLocator, our approach achieves a 24.4% improvement in terms of MAP. Compared with BLUiR, our approach achieves a 16.4% improvement in terms of MAP.

Keywords

Version History, Similar Report, Structure, Bug Localization

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

22nd International Conference on Program Comprehension (ICPC 2014): Proceedings: June 2-3, 2014, Hyderabad, India

First Page

53

Last Page

63

ISBN

9781450328791

Identifier

10.1145/2597008.2597148

Publisher

ACM

City or Country

New York

Additional URL

http://dx.doi.org/10.1145/2597008.2597148

Share

COinS