Towards Building a Universal Defect Prediction Model with Rank Transformed Predictors


Software defects can lead to undesired results. Correcting defects costs 50 % to 75 % of the total software development budgets. To predict defective files, a prediction model must be built with predictors (e.g., software metrics) obtained from either a project itself (within-project) or from other projects (cross-project). A universal defect prediction model that is built from a large set of diverse projects would relieve the need to build and tailor prediction models for an individual project. A formidable obstacle to build a universal model is the variations in the distribution of predictors among projects of diverse contexts (e.g., size and programming language). Hence, we propose to cluster projects based on the similarity of the distribution of predictors, and derive the rank transformations using quantiles of predictors for a cluster. We fit the universal model on the transformed data of 1,385 open source projects hosted on SourceForge and GoogleCode. The universal model obtains prediction performance comparable to the within-project models, yields similar results when applied on five external projects (one Apache and four Eclipse projects), and performs similarly among projects with different context factors. At last, we investigate what predictors should be included in the universal model. We expect that this work could form a basis for future work on building a universal model and would lead to software support tools that incorporate it into a regular development workflow.



Feng Zhang, Audris Mockus, Iman, Keivanloo, and Ying Zou, Towards Building a Universal Defect Prediction Model with Rank Transformed Predictors, Empirical Software Engineering (EMSE), Springer, 1-39, 2015.


journal={Empirical Software Engineering},
title={Towards building a universal defect prediction model with rank transformed predictors},
publisher={Springer US},
keywords={Universal defect prediction model; Defect prediction; Context factors; Rank transformation; Large-scale; Software quality},
author={Zhang, Feng and Mockus, Audris and Keivanloo, Iman and Zou, Ying},
Download the bibtex