Automated, highly-accurate, bug assignment using machine learning and tossing graphs

Pamela Bhattacharya, Iulian Neamtiu, Christian R. Shelton

Research output: Contribution to journalArticlepeer-review

82 Scopus citations

Abstract

Empirical studies indicate that automating the bug assignment process has the potential to significantly reduce software evolution effort and costs. Prior work has used machine learning techniques to automate bug assignment but has employed a narrow band of tools which can be ineffective in large, long-lived software projects. To redress this situation, in this paper we employ a comprehensive set of machine learning tools and a probabilistic graph-based model (bug tossing graphs) that lead to highly-accurate predictions, and lay the foundation for the next generation of machine learning-based bug assignment. Our work is the first to examine the impact of multiple machine learning dimensions (classifiers, attributes, and training history) along with bug tossing graphs on prediction accuracy in bug assignment. We validate our approach on Mozilla and Eclipse, covering 856,259 bug reports and 21 cumulative years of development. We demonstrate that our techniques can achieve up to 86.09 prediction accuracy in bug assignment and significantly reduce tossing path lengths. We show that for our data sets the Naïve Bayes classifier coupled with product-component features, tossing graphs and incremental learning performs best. Next, we perform an ablative analysis by unilaterally varying classifiers, features, and learning model to show their relative importance of on bug assignment accuracy. Finally, we propose optimization techniques that achieve high prediction accuracy while reducing training and prediction time.

Original languageEnglish (US)
Pages (from-to)2275-2292
Number of pages18
JournalJournal of Systems and Software
Volume85
Issue number10
DOIs
StatePublished - Oct 2012
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture

Keywords

  • Bug assignment
  • Bug tossing
  • Empirical studies
  • Machine learning

Fingerprint

Dive into the research topics of 'Automated, highly-accurate, bug assignment using machine learning and tossing graphs'. Together they form a unique fingerprint.

Cite this