Data mining source code for locating software bugs: A case study in telecommunication industry

  • Authors:
  • Burak Turhan;Gozde Kocak;Ayse Bener

  • Affiliations:
  • Dept. of Computer Engineering, Bogazici University, 34342 Istanbul, Turkey;Dept. of Computer Engineering, Bogazici University, 34342 Istanbul, Turkey;Dept. of Computer Engineering, Bogazici University, 34342 Istanbul, Turkey

  • Venue:
  • Expert Systems with Applications: An International Journal
  • Year:
  • 2009

Quantified Score

Hi-index 12.06

Visualization

Abstract

In a large software system knowing which files are most likely to be fault-prone is valuable information for project managers. They can use such information in prioritizing software testing and allocating resources accordingly. However, our experience shows that it is difficult to collect and analyze fine-grained test defects in a large and complex software system. On the other hand, previous research has shown that companies can safely use cross-company data with nearest neighbor sampling to predict their defects in case they are unable to collect local data. In this study we analyzed 25 projects of a large telecommunication system. To predict defect proneness of modules we trained models on publicly available Nasa MDP data. In our experiments we used static call graph based ranking (CGBR) as well as nearest neighbor sampling for constructing method level defect predictors. Our results suggest that, for the analyzed projects, at least 70% of the defects can be detected by inspecting only (i) 6% of the code using a Naive Bayes model, (ii) 3% of the code using CGBR framework.