Mining A change history to quickly identify bug locations: A case study of the Eclipse project

Chakkrit Tantithamthavorn, Rattamont Teekavanich, Akinori Ihara, Ken Ichi Matsumoto

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

12 Citations (Scopus)

Abstract

In this study, we proposed an approach to mine a change history to improve the bug localization performance. The key idea is that a recently fixed file may be fixed in the near future. We used a combination of textual feature and mining the change history to recommend source code files that are likely to be fixed for a given bug report. First, we adopted the Vector Space Model (VSM) to find relevant source code files that are textually similar to the bug report. Second, we analyzed the change history to identify previously fixed files. We then estimated the fault proneness of these files. Finally, we combined the two scores, from textual similarity and fault proneness, for every source code file. We then recommend developers examine source code files with higher scores. We evaluated our approach based on 1,212 bug reports from the Eclipse Platform and Eclipse JDT. The experimental results show that our proposed approach can improve the bug localization performance and effectively identify buggy files.

Original languageEnglish
Title of host publication2013 IEEE International Symposium on Software Reliability Engineering Workshops, ISSREW 2013
Pages108-113
Number of pages6
DOIs
Publication statusPublished - 1 Dec 2013
Externally publishedYes
Event2013 24th IEEE International Symposium on Software Reliability Engineering Workshops, ISSREW 2013 - Pasadena, CA, United States of America
Duration: 4 Nov 20137 Nov 2013

Conference

Conference2013 24th IEEE International Symposium on Software Reliability Engineering Workshops, ISSREW 2013
CountryUnited States of America
CityPasadena, CA
Period4/11/137/11/13

Keywords

  • Bug Localization
  • Information Retrieval
  • Mining Change History
  • Software Debugging

Cite this