Metrics-Driven Software Quality Prediction Without Prior Fault Data
Software quality assessment models are quantitative analytical models that are more reliable compared to qualitative models based on personal judgment. These assessment models are classified into two groups: generalized and product-specific models. Measurement-driven predictive models, a subgroup of product-specific models, assume that there is a predictive relationship between software measurements and quality. In recent years, greater attention in quality assessment models has been devoted to measurement-driven predictive models and the field of software fault prediction modeling has become established within the product-specific model category. Most of the software fault prediction studies focused on developing fault predictors by using previous fault data. However, there are cases when previous fault data are not available. In this study, we propose a novel software fault prediction approach that can be used in the absence of fault data. This fully automated technique does not require an expert during the prediction process and it does not require identifying the number of clusters before the clustering phase, as required by the K-means clustering method. Software metrics thresholds are used to remove the need for an expert. Our technique first applies the X-means clustering method to cluster modules and identifies the best cluster number. After this step, the mean vector of each cluster is checked against the metrics thresholds vector. A cluster is predicted as fault-prone if at least one metric of the mean vector is higher than the threshold value of that metric. Three datasets, collected from a Turkish white-goods manufacturer developing embedded controller software, have been used during experimental studies. Experiments revealed that unsupervised software fault prediction can be automated fully and effective results can be achieved by using the X-means clustering method and software metrics thresholds.
KeywordsSoftware metrics X-means algorithm quality prediction unlabeled program modules metrics thresholds clustering
This project is supported by the Scientific and Technological Research Council of TURKEY (TUBITAK) under Grant 107E213.
- 2.Berkhin, P.: Survey of clustering data mining techniques. Technical Report, Accrue Software, San Jose, CA (2002)Google Scholar
- 3.Bingbing, Y., Qian, Y., Shengyong, X., Ping, G.: Software quality prediction using affinity propagation algorithm. IJCNN – International Joint Conference on Neural Networks, pp. 1891–1896 (2008)Google Scholar
- 4.Catal, C., Sevim, U., Diri, B.: Clustering and metrics thresholds based software fault prediction of unlabeled program modules. Proceedings of the Sixth International Conference on Information Technology: New Generations, pp. 199–204 (2009)Google Scholar
- 8.Pelleg, D., Moore, A.: X-means: Extending K-means with efficient estimation of the number of clusters. Proceedings of the 17th International Conference on Machine Learning, pp. 727–734 (2000)Google Scholar
- 10.Shatnawi, R., Li, W., Swain, J., Newman, T.: Finding software metrics threshold values using ROC curves. J. Softw. Maint. Evol.: Res. Pract. (14 Apr 2009, Published Online)Google Scholar
- 11.Tian, J.: Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement. Wiley, New York (2005)Google Scholar
- 13.Zhong, S., Khoshgoftaar, T.M., Seliya, N.: Unsupervised learning for expert-based software quality estimation. Proceedings of the 8th International Symposium on High Assurance Systems Engineering, Tampa, FL, pp. 149–155 (2004)Google Scholar