Software fault classification using extreme learning machine: a cognitive approach

  • Anil Kumar Pandey
  • Manjari Gupta
Special Issue


The software fault classification is very crucial in the development of reliable and high-quality software products. The fault classification allows determining and concentrating on fault software modules for early prediction of fault in time. As a result, it saves the time and money of the industry. Generally, various metrics are generated to represent the fault. But, selecting the dominant metrics from the available set is a challenge. Therefore, in this paper, a sequential forward search (SFS) with extreme learning machine (ELM) approach has used for fault classification. The number of features available in the metrics are selected to represent the fault using SFS and operated on ELM to verify the performance of software fault classification. Also, various activation functions of ELM have tested for the proposed work to identify the best model. The experimental result demonstrates that ELM with radial basis function achieves the good results compared to other activation function. Also, the proposed method has shown good results in comparison to support vector machine.


Extreme learning machine (ELM) Sequential forward search (SFS) Software fault classification (SFC) 



  1. 1.
    Menzies T, Greenwald J, Frank A (2007) Data mining static code attributes to learn defect predictors. IEEE Trans Softw Eng 1:2–13CrossRefGoogle Scholar
  2. 2.
    Nagappan N, Ball T (2005) Static analysis tools as early indicators of pre-release defect density. In: Proceedings of the 27th international conference on software engineering. ACM, pp 580–586Google Scholar
  3. 3.
    Elish KO, Elish MO (2008) Predicting defect-prone software modules using support vector machines. J Syst Softw 81(5):649–660CrossRefGoogle Scholar
  4. 4.
    Turhan B, Bener A (2009) Analysis of Naive Bayes’ assumptions on software fault data: an empirical study. Data Knowl Eng 68(2):278–290CrossRefGoogle Scholar
  5. 5.
    Catal C, Diri B (2009) Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem. Inf Sci 179(8):1040–1058CrossRefGoogle Scholar
  6. 6.
    Singh P, Pal NR, Verma S, Vyas OP (2017) Fuzzy rule-based approach for software fault prediction. IEEE Trans Syst Man Cybern Syst 47(5):826–837CrossRefGoogle Scholar
  7. 7.
    Dhanajayan RCG, Pillai SA (2017) SLMBC: spiral life cycle model-based Bayesian classification technique for efficient software fault prediction and classification. Soft Comput 21(2):403–415CrossRefGoogle Scholar
  8. 8.
    Shatnawi R (2017) The application of ROC analysis in threshold identification, data imbalance and metrics selection for software fault prediction. Innov Syst Softw Eng 13(2–3):201–217CrossRefGoogle Scholar
  9. 9.
    Bishnu PS, Bhattacherjee V (2012) Software fault prediction using quad tree-based k-means clustering algorithm. IEEE Trans Knowl Data Eng 24(6):1146–1150CrossRefGoogle Scholar
  10. 10.
    Yadav HB, Yadav DK (2015) A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Inf Softw Technol 63:44–57CrossRefGoogle Scholar
  11. 11.
    Aljahdali S, Sheta AF (2011) Predicting the reliability of software systems using fuzzy logic. In: Proceedings of the eighth international conference on information technology: new generations (ITNG). IEEE, pp 36–40Google Scholar
  12. 12.
    Abaei G, Selamat A (2015) Increasing the accuracy of software fault prediction using majority ranking fuzzy clustering. In: Proceedings of the software engineering, artificial intelligence, networking and parallel/distributed computing, pp 179–193. Springer, ChamGoogle Scholar
  13. 13.
    Li K, Chen C, Liu W, Fang X, Lu Q (2014) Software defect prediction using fuzzy integral fusion based on GA-FM. Wuhan Univ J Nat Sci 19(5):405–408CrossRefGoogle Scholar
  14. 14.
    Okutan A, Yıldız OT (2014) Software defect prediction using Bayesian networks. Empir Softw Eng 19(1):154–181CrossRefGoogle Scholar
  15. 15.
    Li L, Leung H (2013) Bayesian prediction of fault-proneness of agile-developed object-oriented system. In: Proceedings of the international conference on enterprise information systems, pp 209–225. Springer, ChamGoogle Scholar
  16. 16.
    Catal C, Sevim U, Diri B (2011) Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm. Expert Syst Appl 38(3):2347–2353CrossRefGoogle Scholar
  17. 17.
    Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2012) Software fault prediction using nonlinear autoregressive with exogenous inputs (NARX) network. Appl Intell 37(1):121–129CrossRefGoogle Scholar
  18. 18.
    Jindal R, Malhotra R, Jain A (2014) Software defect prediction using neural networks. In: Proceedings of the 3rd international conference on reliability, infocom technologies and optimization (ICRITO) (trends and future directions). IEEE, pp 1–6Google Scholar
  19. 19.
    Schumann J, Mbaya T, Mengshoel O, Pipatsrisawat K, Srivastava A, Choi A, Darwiche A (2013) Software health management with Bayesian networks. Innov Syst Softw Eng 9(4):271–292CrossRefGoogle Scholar
  20. 20.
    Pushphavathi TP, Suma V, Ramaswamy V (2014) A novel method for software defect prediction: hybrid of FCM and random forest. In: Proceedings of the international conference on electronics and communication systems (ICECS). IEEE, pp 1–5Google Scholar
  21. 21.
    Khoshgoftaar TM, Xiao Y, Gao K (2014) Software quality assessment using a multi-strategy classifier. Inf Sci 259:555–570CrossRefGoogle Scholar
  22. 22.
    Perkusich M, Soares G, Almeida H, Perkusich A (2015) A procedure to detect problems of processes in software development projects using Bayesian networks. Expert Syst Appl 42(1):437–450CrossRefGoogle Scholar
  23. 23.
    Alzghoul A, Löfstrand M, Backe B (2012) Data stream forecasting for system fault prediction. Comput Ind Eng 62(4):972–978CrossRefGoogle Scholar
  24. 24.
    Ahmadon MAB, Yamaguchi S, Gupta BB (2016) A Petri-net based approach for software evolution. In: Proceedings of the 7th international conference on information and communication systems (ICICS). IEEE, pp 264–269Google Scholar
  25. 25.
    Ahmadon MAB, Yamaguchi S, Gupta BB (2018) Petri net-based verification of security protocol implementation in software evolution. Int J Embed Syst 10(6):503–517CrossRefGoogle Scholar
  26. 26.
    Jararweh Y, Alsmirat M, Al-Ayyoub M, Benkhelifa E, Darabseh A, Gupta B, Doulat A (2017) Software-defined system support for enabling ubiquitous mobile edge computing. Comput J 60(10):1443–1457CrossRefGoogle Scholar
  27. 27.
    Monden A, Hayashi T, Shinoda S, Shirai K, Yoshida J, Barker M, Matsumoto K (2013) Assessing the cost effectiveness of fault prediction in acceptance testing. IEEE Trans Softw Eng 39(10):1345–1357CrossRefGoogle Scholar
  28. 28.
    Singh P, Verma S (2012) Empirical investigation of fault prediction capability of object oriented metrics of open source software. In: Proceedings of the international joint conference on computer science and software engineering (JCSSE). IEEE, pp 323–327Google Scholar
  29. 29.
    Rajaganapathy CD, Subramani A (2015) A comparative study of different software fault prediction and classification techniques. Res J Appl Sci Eng Technol 10(7):831–840Google Scholar
  30. 30.
    Rathore SS, Kumar S (2017) An empirical study of some software fault prediction techniques for the number of faults prediction. Soft Comput 21(24):7417–7434CrossRefGoogle Scholar
  31. 31.
    Chatterjee S, Maji B (2016) A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comput 20(10):4023–4035CrossRefGoogle Scholar
  32. 32.
    Choudhary GR, Kumar S, Kumar K, Mishra A, Catal C (2018) Empirical analysis of change metrics for software fault prediction. Comput Electr Eng 67:15–24CrossRefGoogle Scholar
  33. 33.
    Rhmann W (2018) Cross project defect prediction using hybrid search based algorithms. Int J Inf Technol. CrossRefGoogle Scholar
  34. 34.
    Zhu M, Pham H (2018) A two-phase software reliability modeling involving with software fault dependency and imperfect fault removal. Comput Lang Syst Struct 53:27–42Google Scholar
  35. 35.
    Huang GB, Chen L, Siew CK (2006) Universal approximation using incremental constructive feedforward networks with random hidden nodes. IEEE Trans Neural Netw 17(4):879–892CrossRefGoogle Scholar
  36. 36.
    Huang G, Huang GB, Song S, You K (2015) Trends in extreme learning machines: a review. Neural Netw 61:32–48CrossRefGoogle Scholar
  37. 37.
    Ahila R, Sadasivam V, Manimala K (2015) An integrated PSO for parameter determination and feature selection of ELM and its application in classification of power system disturbances. Appl Soft Comput 32:23–37CrossRefGoogle Scholar
  38. 38.
    Li S, Wang P, Goel L (2015) Short-term load forecasting by wavelet transform and evolutionary extreme learning machine. Electr Power Syst Res 122:96–103CrossRefGoogle Scholar
  39. 39.
    Suresh S, Saraswathi S, Sundararajan N (2010) Performance enhancement of extreme learning machine for multi-category sparse data classification problems. Eng Appl Artif Intell 23(7):1149–1157CrossRefGoogle Scholar
  40. 40.
    Whitney AW (1971) A direct method of nonparametric measurement selection. IEEE Trans Comput 100(9):1100–1103CrossRefGoogle Scholar
  41. 41.
    Pudil P, Novovičová J, Kittler J (1994) Floating search methods in feature selection. Pattern Recognit Lett 15(11):1119–1125CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Banaras Hindu UniversityVaranasiIndia

Personalised recommendations