Metrics-Driven Software Quality Prediction Without Prior Fault Data

  • Cagatay CatalEmail author
  • Ugur Sevim
  • Banu Diri
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 60)


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.


Software 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.


  1. 1.
    Arisholma, E., Briand, L.C., Johannessen, E.B.: A systematic and comprehensive investigation of methods to build and evaluate fault prediction models. J. Syst. Softw. 83(1):2–17 (January 2010)CrossRefGoogle Scholar
  2. 2.
    Berkhin, P.: Survey of clustering data mining techniques. Technical Report, Accrue Software, San Jose, CA (2002)Google Scholar
  3. 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. 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
  5. 5.
    Gan, G., Ma, C., Wu, J.: Data Clustering: Theory, Algorithms, and Applications. Society for Industrial and Applied Mathematics, Philadelphia (2007)zbMATHGoogle Scholar
  6. 6.
    Khoshgoftaar, T.M., Seliya, N., Sundaresh, N.: An empirical study of predicting software faults with case-based reasoning. Softw. Qual. J. 14(2):85–111 (2006)CrossRefGoogle Scholar
  7. 7.
    Menzies, T., Greenwald, J., Frank, A.: Data mining static code attributes to learn defect predictors. IEEE Trans. Softw. Eng. 32(1):2–13 (2007)CrossRefGoogle Scholar
  8. 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
  9. 9.
    Seliya, N., Khoshgoftaar, T.M.: Software quality analysis of unlabeled program modules with semi-supervised clustering. IEEE Trans. Syst. Man Cyb A: Syst. Humans 37(2):201–211 (2007)CrossRefMathSciNetGoogle Scholar
  10. 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. 11.
    Tian, J.: Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement. Wiley, New York (2005)Google Scholar
  12. 12.
    Xu, R., Wunsch, D.: Survey of clustering algorithms. IEEE Trans. Neural Networ. 16(3): 645–678 (2005)CrossRefGoogle Scholar
  13. 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

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.TUBITAK-Marmara Research CenterInformation Technologies InstituteGebzeTurkey
  2. 2.Department of Computer EngineeringYildiz Technical UniversityIstanbulTurkey

Personalised recommendations