Abstract
Software fault prediction and classification plays a vital role in the software development process for assuring high quality and reliability of the software product. Earlier prediction of the fault-prone software modules enables timely correction of the faults and delivery of reliable product. Generally, the fuzzy logic, decision tree and neural networks are deployed for fault prediction. But these techniques suffer due to low accuracy and inconsistency. To overcome these issues, this paper proposes a spiral life cycle model-based Bayesian classification technique for efficient software fault prediction and classification. In this process, initially the dependent and independent software modules are identified. The spiral life cycle model is used for testing the software modules in each life cycle of the software development process. Bayesian classification is applied to classify the software modules as faulty module and non-faulty module, by using the probability distribution models. Robust similarity-aware clustering algorithm performs clustering of the faulty and non-faulty software modules based on the similarity measure of the features in the dataset. From the experimental results, it is observed that the proposed method enables accurate prediction and classification of the faulty modules. The proposed technique achieves higher accuracy, precision, recall, probability of detection, F-measure and lower error rate than the existing techniques. The misclassification rate of the proposed technique is found to be lower than the existing techniques. Hence, the reliability of the software development process can be improved.






Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abaei G, Selamat A (2015) Increasing the accuracy of software fault prediction using majority ranking fuzzy clustering. In: Lee R (ed) Software engineering, artificial intelligence, networking and parallel/distributed computing. Springer, Berlin, pp 179–193
Abaei G, Selamat A, Fujita H (2015) An empirical study based on semi-supervised hybrid self-organizing map for software fault prediction. Knowl Based Syst 74:28–39
Aljahdali S, Sheta AF (2011) Predicting the reliability of software systems using fuzzy logic. In: Eighth international conference on information technology: new generations (ITNG), pp 36–40
Alzghoul A, Löfstrand M, Backe B (2012) Data stream forecasting for system fault prediction. Comput Indus Eng 62:972–978
Bishnu PS, Bhattacherjee V (2012) Software fault prediction using quad tree-based k-means clustering algorithm. IEEE Trans Knowl Data Eng 24:1146–1150
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:2347–2353
Catal C, Sevim U, Diri B (2009) Clustering and metrics thresholds based software fault prediction of unlabeled program modules. In: Sixth international conference on information technology: new generations, 2009. ITNG’09, pp 199–204
Chatterjee S, Nigam S, Singh J, Upadhyaya L (2012) Software fault prediction using Nonlinear Autoregressive with eXogenous Inputs (NARX) network. Appl Intell 37:121–129
Chatterjee S, Maji B (2015) A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comput 1–13. doi:10.1007/s00500-015-1738-x
Jindal R, Malhotra R, Jain A (2014) Software defect prediction using neural networks. In: 3rd international conference on reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), pp 1–6
Khoshgoftaar TM, Xiao Y, Gao K (2014) Software quality assessment using a multi-strategy classifier. Inf Sci 259:555–570
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:405–408
Li L, Leung H (2014) Bayesian prediction of fault-proneness of agile-developed object-oriented system. In: Hammoudi S, Cordeiro J, Maciaszek LA, Filipe J (eds) Enterprise information systems. Springer, Berlin, pp 209–225
Monden A, Hayashi T, Shinoda S, Shirai K, Yoshida J, Barker M et al (2013) Assessing the cost effectiveness of fault prediction in acceptance testing. IEEE Trans Softw Eng 39:1345–1357
NASA (2004) CM1/software defect prediction. http://promise.site.uottawa.ca/SERepository/datasets/cm1.arff
Okutan A, Yıldız OT (2014) Software defect prediction using Bayesian networks. Empir Softw Eng 19:154–181
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:437–450
Pushphavathi T, Suma V, Ramaswamy V (2014) A novel method for software defect prediction: hybrid of FCM and random forest. In: International conference on electronics and communication systems (ICECS), pp 1–5
Rajaganapathy CD, Subramani A (2015) A comparative study of different software fault prediction and classification techniques. Res J Appl Sci Eng Technol 10:831–840
Ramaswamy V, Pushphavathi T, Suma V (2014) Position Paper: Defect prediction approaches for software projects using genetic fuzzy data mining. In: ICT and critical infrastructure: proceedings of the 48th annual convention of Computer Society of India, vol 2, pp 313–320
Rathore SS, Kumar S (2016) An empirical study of some software fault prediction techniques for the number of faults prediction. Soft Comput 1–18. doi:10.1007/s00500-016-2284-x
Schumann J, Mbaya T, Mengshoel O, Pipatsrisawat K, Srivastava A, Choi A et al (2013) Software health management with Bayesian networks. Innov Syst Softw Eng 9:271–292
Shatnawi R (2012) Improving software fault-prediction for imbalanced data. In: International conference on innovations in information technology (IIT), pp 54–59
Singh P, Verma S (2012) Empirical investigation of fault prediction capability of object oriented metrics of open source software. In: International joint conference on computer science and software engineering (JCSSE), pp 323–327
Yadav HB, Yadav DK (2015) A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Inf Softw Technol 63:44–57
Zhong S, Khoshgoftaar TM, Seliya N (2004a) Analyzing software measurement data with clustering techniques. IEEE Intell Syst 19:20–27
Zhong S, Khoshgoftaar TM, Seliya N (2004b) Unsupervised learning for expert-based software quality estimation. In: HASE, pp 149–155
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declares that they have no conflict of interest.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Communicated by V. Loia.
Rights and permissions
About this article
Cite this article
Chinna Gounder Dhanajayan, R., Appavu Pillai, S. SLMBC: spiral life cycle model-based Bayesian classification technique for efficient software fault prediction and classification. Soft Comput 21, 403–415 (2017). https://doi.org/10.1007/s00500-016-2316-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-016-2316-6