Predicting defect densities in source code files with decision tree learners
Authors:
Open Access
- 22 May 2006
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 119-125
Abstract
With the advent of open source software repositories the data available for defect prediction in source files increased tremendously. Although traditional statistics turned out to derive reasonable results the sheer amount of data and the problem context of defect prediction demand sophisticated analysis such as provided by current data mining and machine learning techniques.In this work we focus on defect density prediction and present an approach that applies a decision tree learner on evolution data extracted from the Mozilla open source web browser project. The evolution data includes different source code, modification, and defect measures computed from seven recent Mozilla releases. Among the modification measures we also take into account the change coupling, a measure for the number of change-dependencies between source files. The main reason for choosing decision tree learners, instead of for example neural nets, was the goal of finding underlying rules which can be easily interpreted by humans. To find these rules, we set up a number of experiments to test common hypotheses regarding defects in software entities. Our experiments showed, that a simple tree learner can produce good results with various sets of input data.Keywords
This publication has 10 references indexed in Scilit:
- EvoLens: Lens-View Visualizations of Evolution Data2006
- Mining version histories to guide software changesIEEE Transactions on Software Engineering, 2005
- Predicting the location and number of faults in large software systemsIEEE Transactions on Software Engineering, 2005
- The top ten list: dynamic fault prediction2005
- Use of relative code churn measures to predict system defect density2005
- Predicting fault incidence using software change historyIEEE Transactions on Software Engineering, 2000
- Quantitative analysis of faults and failures in a complex software systemIEEE Transactions on Software Engineering, 2000
- A validation of object-oriented design metrics as quality indicatorsIEEE Transactions on Software Engineering, 1996
- A metrics suite for object oriented designIEEE Transactions on Software Engineering, 1994
- The detection of fault-prone programsIEEE Transactions on Software Engineering, 1992