SLMBC: spiral life cycle model-based Bayesian classification technique for efficient software fault prediction and classification

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.

[1]  Q. Lu,et al.  Software defect prediction using fuzzy integral fusion based on GA-FM , 2014, Wuhan University Journal of Natural Sciences.

[2]  P. Singh,et al.  Empirical investigation of fault prediction capability of object oriented metrics of open source software , 2012, 2012 Ninth International Conference on Computer Science and Software Engineering (JCSSE).

[3]  Taghi M. Khoshgoftaar,et al.  Software quality assessment using a multi-strategy classifier , 2014, Inf. Sci..

[4]  Taghi M. Khoshgoftaar,et al.  Analyzing software measurement data with clustering techniques , 2004, IEEE Intelligent Systems.

[5]  Ruchika Malhotra,et al.  Software defect prediction using neural networks , 2014, Proceedings of 3rd International Conference on Reliability, Infocom Technologies and Optimization.

[6]  R. Shatnawi Improving software fault-prediction for imbalanced data , 2012, 2012 International Conference on Innovations in Information Technology (IIT).

[7]  Ole J. Mengshoel,et al.  Software Health Management with Bayesian Networks , 2011 .

[8]  Subhashis Chatterjee,et al.  A new fuzzy rule based algorithm for estimating software faults in early phase of development , 2016, Soft Comput..

[9]  A. Subramani,et al.  A Comparative Study of Different Software Fault Prediction and Classification Techniques , 2015 .

[10]  Akito Monden,et al.  Assessing the Cost Effectiveness of Fault Prediction in Acceptance Testing , 2013, IEEE Transactions on Software Engineering.

[11]  Alaa F. Sheta,et al.  Predicting the Reliability of Software Systems Using Fuzzy Logic , 2011, 2011 Eighth International Conference on Information Technology: New Generations.

[12]  Taghi M. Khoshgoftaar,et al.  Unsupervised learning for expert-based software quality estimation , 2004, Eighth IEEE International Symposium on High Assurance Systems Engineering, 2004. Proceedings..

[13]  Sandeep Kumar,et al.  An empirical study of some software fault prediction techniques for the number of faults prediction , 2017, Soft Comput..

[14]  Banu Diri,et al.  Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm , 2011, Expert Syst. Appl..

[15]  Ali Selamat,et al.  An empirical study based on semi-supervised hybrid self-organizing map for software fault prediction , 2015, Knowl. Based Syst..

[16]  Ali Selamat,et al.  Increasing the Accuracy of Software Fault Prediction using Majority Ranking Fuzzy Clustering , 2014, Int. J. Softw. Innov..

[17]  Hareton K. N. Leung,et al.  Bayesian Prediction of Fault-Proneness of Agile-Developed Object-Oriented System , 2013, ICEIS.

[18]  Dilip Kumar Yadav,et al.  A fuzzy logic based approach for phase-wise software defects prediction using software metrics , 2015, Inf. Softw. Technol..

[19]  Mirko Perkusich,et al.  A procedure to detect problems of processes in software development projects using Bayesian networks , 2015, Expert Syst. Appl..

[20]  Olcay Taner Yildiz,et al.  Software defect prediction using Bayesian networks , 2012, Empirical Software Engineering.

[21]  V. Suma,et al.  Position Paper: Defect Prediction Approaches for Software Projects Using Genetic Fuzzy Data Mining , 2014 .

[22]  Banu Diri,et al.  Clustering and Metrics Thresholds Based Software Fault Prediction of Unlabeled Program Modules , 2009, 2009 Sixth International Conference on Information Technology: New Generations.

[23]  V. Suma,et al.  A novel method for software defect prediction: Hybrid of FCM and random forest , 2014, 2014 International Conference on Electronics and Communication Systems (ICECS).

[24]  J. B. Singh,et al.  Software fault prediction using Nonlinear Autoregressive with eXogenous Inputs (NARX) network , 2011, Applied Intelligence.

[25]  Vandana Bhattacherjee,et al.  Software Fault Prediction Using Quad Tree-Based K-Means Clustering Algorithm , 2012, IEEE Transactions on Knowledge and Data Engineering.

[26]  Magnus Löfstrand,et al.  Data stream forecasting for system fault prediction , 2012, Comput. Ind. Eng..