Software Fault Prediction Based on Improved Fuzzy Clustering

  • Golnoosh AbaeiEmail author
  • Ali Selamat
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 290)


Predicting parts of the software programs that are more defects prone could ease up the software testing process and helps effectively to reduce the cost and time of developments. Although many machine-learning and statistical techniques have been proposed widely for defining fault prone modules in software fault prediction, but this area have yet to be explored with high accuracy and less error. Unfortunately, several earlier methods including artificial neural networks and its variants that have been used, marred by limitations such as inability to adequately handle uncertainties in software measurement data which leads to low accuracy, instability and inconsistency in prediction. In this paper, first the effect of irrelevant and inconsistent modules on fault prediction is decreased by designing a new framework, in which the entire project’s modules are clustered. The generated output is then passed to the next model in the hybrid setting, which is a probabilistic neural network (PNN) for training and prediction. We used four NASA data sets to evaluate our results. Performance evaluation in terms of false positive rate, false negative rate, and overall error are calculated and showed 30% to 60% improvement in false negative rate compared to other well-performed training methods such as naïve Bayes and random forest.


Fuzzy Clustering Fault Prediction Probabilistic Neural Network 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kanmani, S., Uthariaraj, V.R., Sankaranarayanan, V., Thambidurai, P.: Object-oriented software fault prediction using neural networks. Information and Software Technology 49(5), 483–492 (2007)CrossRefGoogle Scholar
  2. 2.
    Rodriguez, D., Ruiz, R., Riquelme, J.C., Harrison, R.: A study of subgroup discovery approaches for defect prediction. Information and Software Technology 55(10), 1810–1822 (2013)CrossRefGoogle Scholar
  3. 3.
    Catal, C., Diri, B.: Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem. Information Sciences 179(8), 1040–1058 (2009)CrossRefGoogle Scholar
  4. 4.
    Promise Software Engineering Repository, (August 20, 2012)
  5. 5.
    Catal, C., Sevim, U., Diri, B.: Software fault prediction of unlabeled program modules. In: Proceedings of the World Congress on Engineering, vol. 1, pp. 1–3 (2009)Google Scholar
  6. 6.
    Hall, T., Beecham, S., Bowes, D., Gray, D., Counsell, S.: A systematic literature review on fault prediction performance in software engineering. IEEE Transactions on Software Engineering 38(6), 1276–1304 (2012)CrossRefGoogle Scholar
  7. 7.
    Menzies, T., Greenwald, J., Frank, A.: Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering 33(1), 2–13 (2007)CrossRefGoogle Scholar
  8. 8.
    Mahaweerawat, A., Sophatsathit, P., Lursinsap, C.: Adaptive self-organizing map clustering for software fault prediction. In: Fourth International Joint Conference on Computer Science and Software Engineering, KhonKaen, Thailand, pp. 35–41 (2007)Google Scholar
  9. 9.
    Catal, C., Sevim, U., Diri, B.: Clustering and metrics thresholds based software fault prediction of unlabeled program modules. In: Sixth International Conference on Information Technology: New Generations, ITNG 2009, pp. 199–204 (April 2009)Google Scholar
  10. 10.
    Khoshgoftaar, T.M., Allen, E.B., Hudepohl, J.P., Aud, S.J.: Application of neural networks to software quality modeling of a very large telecommunications system. IEEE Transactions on Neural Networks 8(4), 902–909 (1997)CrossRefGoogle Scholar
  11. 11.
    Zadeh, L.A.: Fuzzy sets. Information and Control 8(3), 338–353 (1965)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
  13. 13.
    Bezdek, J.C.: Pattern recognition with fuzzy objective function algorithms. Kluwer Academic Publishers (1981)Google Scholar
  14. 14.
    Dunn, J.C.: A fuzzy relative of the ISODATA process and its use in detecting compact well-separated clusters (1973)Google Scholar
  15. 15.
    Abaei, G., Selamat, A.: A survey on software fault detection based on different prediction approaches. Vietnam Journal of Computer Science, 1–17 (2013)Google Scholar
  16. 16.
    Specht, D.F.: Probabilistic neural networks. Neural Networks 3(1), 109–118 (1990)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.UTM-IRDA Digital Media Centre, K-Economy Research Alliance & Faculty of ComputingUniversiti Teknologi MalaysiaJohor BaharuMalaysia

Personalised recommendations