Enhancing supervised bug localization with metadata and stack-trace

Yaojing Wang, Yuan Yao, Hanghang Tong, Xuan Huo, Ming Li, Feng Xu, Jian Lu

Research output: Contribution to journalArticlepeer-review

10 Scopus citations

Abstract

Locating relevant source files for a given bug report is an important task in software development and maintenance. To make the locating process easier, information retrieval methods have been widely used to compute the content similarities between bug reports and source files. In addition to content similarities, various other sources of information such as the metadata and the stack-trace in the bug report can be used to enhance the localization accuracy. In this paper, we propose a supervised topic modeling approach for automatically locating the relevant source files of a bug report. In our approach, we take into account the following five key observations. First, supervised modeling can effectively make use of the existing fixing histories. Second, certain words in bug reports tend to appear multiple times in their relevant source files. Third, longer source files tend to have more bugs. Fourth, metainformation brings additional guidance on the search space. Fifth, buggy source files could be already contained in the stack-trace. By integrating the above five observations, we experimentally show that the proposed method can achieve up to 67.1% improvement in terms of prediction accuracy over its best competitors and scales linearly with the size of the data.

Original languageEnglish (US)
Pages (from-to)2461-2484
Number of pages24
JournalKnowledge and Information Systems
Volume62
Issue number6
DOIs
StatePublished - Jun 1 2020

Keywords

  • Bug localization
  • Bug reports
  • Metadata
  • Stack-trace
  • Supervised topic modeling

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Human-Computer Interaction
  • Hardware and Architecture
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Enhancing supervised bug localization with metadata and stack-trace'. Together they form a unique fingerprint.

Cite this