DigBug—Pre/post-processing operator selection for accurate bug localization

Kisub Kim, Sankalp Ghatpande, Kui Liu, Anil Koyuncu, Dongsun Kim, Tegawendé F. Bissyandé, Jacques Klein, Yves Le Traon

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

Abstract

Bug localization is a recurrent maintenance task in software development. It aims at identifying relevant code locations (e.g., code files) that must be inspected to fix bugs. When such bugs are reported by users, the localization process become often overwhelming as it is mostly a manual task due to incomplete and informal information (written in natural languages) available in bug reports. The research community has then invested in automated approaches, notably using Information Retrieval techniques. Unfortunately, reported performance in the literature is still limited for practical usage. Our key observation, after empirically investigating a large dataset of bug reports as well as workflow and results of state-of-the-art approaches, is that most approaches attempt localization for every bug report without considering the different characteristics of the bug reports. We propose DIGBUG as a straightforward approach to specialized bug localization. This approach selects pre/post-processing operators based on the attributes of bug reports; and the bug localization model is parameterized in accordance as well. Our experiments confirm that departing from “one-size-fits-all” approaches, DIGBUG outperforms the state-of-the-art techniques by 6 and 14 percentage points, respectively in terms of MAP and MRR on average.

Original languageEnglish
Article number111300
JournalJournal of Systems and Software
Volume189
DOIs
StatePublished - Jul 2022

Keywords

  • Bug characteristics
  • Bug localization
  • Bug report
  • Fault localization
  • Information retrieval
  • Operator combination

Fingerprint

Dive into the research topics of 'DigBug—Pre/post-processing operator selection for accurate bug localization'. Together they form a unique fingerprint.

Cite this