Issue No. 06 - November/December (2005 vol. 22)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2005.149
A. G? Koru , University of Maryland, Baltimore County
Hongfang Liu , University of Maryland, Baltimore County
Predicting defect-prone modules successfully can help software developers improve product quality by focusing quality assurance activities on those modules. We built several machine-learning models to predict the defective modules in five software products developed by NASA, named, CM1, JM1, KC1, KC2, and PC1. Using a set of static measures as predictor variables, the models failed to predict performance satisfactorily on the products' original data sets. However, these data sets used the smallest unit of functionality--that is, a function or method--as a module. This meant the defect prediction was performed at a fine granularity level. Stratifying the original data sets according to module size showed the prediction performance to be better in subsets that included larger modules. Aggregating the method-level KC1 data to class level improved prediction performance for the top defect classes. Guidelines based on these results help software developers build effective defect-prediction models for focused quality assurance activities. <p>This article is part of a special issue on predictor modeling.</p>
software quality, software metrics
H. Liu and A. G. Koru, "Building Effective Defect-Prediction Models in Practice," in IEEE Software, vol. 22, no. , pp. 23-29, 2005.