How Does Execution Information Help with Information-Retrieval Based Bug Localization?

Tung Dao, Lingming Zhang, Na Meng

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Bug localization is challenging and time-consuming. Given a bug report, a developer may spend tremendous time comprehending the bug description together with code in order to locate bugs. To facilitate bug report comprehension, information retrieval (IR)-based bug localization techniques have been proposed to automatically search for and rank potential buggy code elements (i.e., classes or methods). However, these techniques do not leverage any dynamic execution information of buggy programs. In this paper, we perform the first systematic study on how dynamic execution information can help with static IR-based bug localization. More specifically, with the fixing patches and bug reports of 157 real bugs, we investigated the impact of various execution information (i.e. coverage, slicing, and spectrum) on three IR-based techniques: the baseline technique, BugLocator, and BLUiR. Our experiments demonstrate that both the coverage and slicing information of failed tests can effectively reduce the search space and improve IR-based techniques at both class and method levels. Using additional spectrum information can further improve bug localization at the method but not the class level. Some of our investigated ways of augmenting IR-based bug localization with execution information even outperform a state-of-the-art technique, which merges spectrum with an IR-based technique in a complicated way. Different from prior work, by investigating various easy-to-understand ways to combine execution information with IR-based techniques, this study shows for the first time that execution information can generally bring considerable improvement to IR-based bug localization.

Original languageEnglish (US)
Title of host publicationProceedings - 2017 IEEE 25th International Conference on Program Comprehension, ICPC 2017
PublisherIEEE Computer Society
Pages241-250
Number of pages10
ISBN (Electronic)9781538605356
DOIs
StatePublished - Jun 28 2017
Externally publishedYes
Event25th IEEE International Conference on Program Comprehension, ICPC 2017 - Buenos Aires, Argentina
Duration: May 22 2017May 23 2017

Publication series

NameIEEE International Conference on Program Comprehension

Conference

Conference25th IEEE International Conference on Program Comprehension, ICPC 2017
Country/TerritoryArgentina
CityBuenos Aires
Period5/22/175/23/17

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Fingerprint

Dive into the research topics of 'How Does Execution Information Help with Information-Retrieval Based Bug Localization?'. Together they form a unique fingerprint.

Cite this