Reference the dataset

If you use this dataset for your research, please reference the following paper:

An Extensive Comparison of Bug Prediction Approaches
Marco D'Ambros, Michele Lanza, Romain Robbes
In Proceedings of MSR 2010 (7th IEEE Working Conference on Mining Software Repositories), pp. 31 - 41. IEEE CS Press, 2010.

Download bibtex

What is it?

The bug prediction dataset is a collection of models and metrics of software systems and their histories. The goal of such a dataset is to allow people to compare different bug prediction approaches and to evaluate whether a new technque is an improvement over existing ones. In particular, the dataset contains the data needed to:

  1. run a prediction technique based on source code metrics and/or historical measures and/or process information (cvs logs data);
  2. compute the performance of the prediction by comparing its results with an oracle set, i.e., the number post release defects reported in bug tracking system.
The dataset is designed to perform bug prediction at the class level. However package or subsystem information can be derived by aggregating class data, since per each class it is specified the package that contains it.

What does it contain?

The bug prediction dataset contains data about the following software systems:

  1. Eclipse JDT Core
  2. Eclipse PDE UI
  3. Equinox Framework
  4. Lucene
  5. Mylyn

For each system the dataset includes the following pieces of information:

  1. Biweekly versions of the systems parsed (with the inFusion tool) into object-oriented models, provided as mse files;
  2. Historical information extracted from the cvs change log, including reconstructed transaction and links from transactions to model classes;
  3. Value of 15 metrics computed from cvs change log data, for each class of the systems;
  4. Values of 17 source code metrics (CK + 11 object oriented metrics), for each version of each class;
  5. Categorized (with severity and priority) post-release defect counts for each class.
The data is available for download in the Download page.

What can I do with it?

With the bug prediction dataset it is possible to use (or to compute) a number of metrics which can be used to create generalized linear regression models which predict, at the class level, the number of post-release defects. The performances of these models can then be evaluated by comparing the prediction results agaist the actual post-release defects provided as part of the dataset.
In particular, it is possible to use/compute the following metrics to use as predictors, or to design and compute novel ones:

  1. Change metrics (from CVS change logs), as proposed by Moser et. al.
  2. CK metrics, as proposed by Basili et. al.
  3. Object oriented metrics (e.g. number of methods, number of attributes, etc).
  4. Number of previous defects, as proposed by Kim et. al.
  5. Complexity of code change, as proposed by Hassan
  6. Churn of CK and object oriented metrics, as proposed by D'Ambros et. al.
  7. Entropy of CK and object oriented metrics, as proposed by D'Ambros et. al.

All the listed defect prediction techniques, and their application on the bug prediction dataset, are described in details in the paper:
An Extensive Comparison of Bug Prediction Approaches
Marco D'Ambros, Michele Lanza, Romain Robbes
In Proceedings of MSR 2010 (7th IEEE Working Conference on Mining Software Repositories), to be published. IEEE CS Press, 2010.

Design adapted from Inf08 by Inf Design - Valid XHTML & CSS