Skip to main content
Log in

A bayesian belief network based model for predicting software faults in early phase of software development process

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

It is always better to have an idea about the future situation of a present work. Prediction of software faults in the early phase of software development life cycle can facilitate to the software personnel to achieve their desired software product. Early prediction is of great importance for optimizing the development cost of a software project. The present study proposes a methodology based on Bayesian belief network, developed to predict total number of faults and to reach a target value of total number of faults during early development phase of software lifecycle. The model has been carried out using the information from similar or earlier version software projects, domain expert’s opinion and the software metrics. Interval type-2 fuzzy logic has been applied for obtaining the conditional probability values in the node probability tables of the belief network. The output pattern corresponding to the total number of faults has been identified by artificial neural network using the input pattern from similar or earlier project data. The proposed Bayesian framework facilitates software personnel to gain the required information about software metrics at early phase for achieving targeted number of software faults. The proposed model has been applied on twenty six software project data. Results have been validated by different statistical comparison criterion. The performance of the proposed approach has been compared with some existing early fault prediction models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Pandey A K, Goyal N K (2010) Fault prediction model by fuzzy profile development of reliability relevant software metrics. Int J Comp Appl 11(6):34–41

    Google Scholar 

  2. Musa J D, Iannino A, Okumoto K (1987) Software reliability: measurement, prediction, application. McGraw-Hill, New York

    Google Scholar 

  3. Xie M (1991) Software reliability modeling. World Scientific Press, Singapore

    Book  MATH  Google Scholar 

  4. Lyu M R (1996) Handbook of software reliability engineering. McGraw-Hill, New York

    Google Scholar 

  5. Pham H (2006) System software reliability. Springer, Berlin

    Book  Google Scholar 

  6. Su YS, Huang CY (2007) Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models. J Syst Softw 80(4):606–615

    Article  Google Scholar 

  7. Kapur P K, Khatri SK, Basirzadeh M (2008) Software reliability assessment using artificial neural network based flexible model incorporating faults of different complexity. Int J Reliability, Quality and Safety Eng 15 (2):113–127

    Article  Google Scholar 

  8. Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2012) Software fault prediction using Nonlinear Autoregressive with eXogenous Inputs (NARX) network. Appl Intell 37:121–129

    Article  Google Scholar 

  9. Chatterjee S, Shukla A (2016) Change point–based software reliability model under imperfect debugging with revised concept of fault dependency. In: Proceedings of the Institution of Mechanical Engineers Part O: Journal of Risk and Reliability, SAGE 230(6):579-597

  10. Kumar S, Krishna B A, Satsangi P S (1994) Fuzzy systems and neural networks in software engineering project management. Appl Intell 4:31–52

    Article  Google Scholar 

  11. Mazinan A H, Sheikhan M (2012) On the practice of artificial intelligence based predictive control scheme: a case study. Appl Intell 36:178–189

    Article  Google Scholar 

  12. Sangüesa R, Burrell P (2000) Application of Bayesian network learning methods to waste water treatment plants. Appl Intell 13:19–40

    Article  Google Scholar 

  13. Chatterjee S, Maji B (2016) A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comp 20(10):4023–4035

    Article  Google Scholar 

  14. Yadav H B, Yadav D K (2015) A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Inf Softw Tech 63:44–57

    Article  Google Scholar 

  15. Yadav HB, Yadav DK (2014) Early software reliability analysis using reliability relevant software metrics. Int J Syst Assurance Eng Manage.

  16. Kumar C, Yadav DK (2014) Software defects estimation using metrics of early phases of software development life cycle. Int J Syst Assurance Eng and Manag. https://doi.org/10.10.1007/s13198-014-0326-2

  17. Fenton N E, Neil M (2008) On the effectiveness of early life cycle defect prediction with Bayesian Nets. Empirical Softw Eng 13(5):499–537

    Article  Google Scholar 

  18. Fenton N E, Neil M (2007) Predicting software defects in varying development lifecycles using Bayesian nets. Inf Softw Tech 49(1):32–43

    Article  Google Scholar 

  19. Fenton NE, Neil M, Marsh W, Hearty P, Radlinski L (2007) Project data incorporating qualitative factors for improved software defect prediction. In: Third International Workshop on Predictor Models in Software Engineering (PROMISE’07), IEEE Computer Society.

  20. Li M, Smidts C S (2003) A ranking of software engineering measures based on expert opinion. IEEE Trans Softw Eng 29(9):811–824

    Article  Google Scholar 

  21. Xie M, Hong G Y, Wohlin C (1999) Software reliability prediction incorporating information from a similar project. J Syst Softw 49(1):43–48

    Article  Google Scholar 

  22. Smidts C, Stutzke M, Stoddard R W (1998) Software reliability modeling: an approach to early reliability prediction. IEEE Trans Reliab 47(3):268–278

    Article  Google Scholar 

  23. Yap G E, Tan A H, Pang H H (2008) Explaining inferences in Bayesian networks. Appl Intell 29:263–278

    Article  Google Scholar 

  24. Zadeh L A (1965) Fuzzy sets. Inf Control 8(3):338–353

    Article  MATH  Google Scholar 

  25. Zadeh L A (1975) The concept of a linguistic variable and its application to approximate reasoning-I. Inf Sc 8:199–249

    Article  MathSciNet  MATH  Google Scholar 

  26. Castillo O (2012) Type-2 fuzzy logic in intelligent control applications. Springer-Verlag, Heidelberg

    Book  MATH  Google Scholar 

  27. Mamdani E H (1977) Application of fuzzy logic to approximate reasoning using linguistic synthesis. IEEE Trans Comput 26:1182–1191

    Article  MATH  Google Scholar 

  28. McCabe T J (1975) A Complexity Measure. IEEE Trans Softw Eng SE 2(4):308–320

    Article  MathSciNet  MATH  Google Scholar 

  29. Mandal SN, Choudhury JP, Chaudhuri SRB (2012) In search of suitable fuzzy membership function in prediction of time series data. Int J Comp Sc 9(3):293–302

    Google Scholar 

  30. Liu L, Yang A, Tao Q, Zhu L, Wu D (2014) Study of the Software Size Estimation Model Based on UML. In: IEEE International Conference on System Science and Engineering. https://doi.org/10.10.1109/ICSSE.2014.6887921

  31. Zivkovic A, Rozman I, Hericko M (2005) Automated software size estimation based on function points using UML models. Inf and Soft Tech 47:881–890

    Article  Google Scholar 

  32. Pratiwi D (2013) Implementation of function point analysis in measuring the volume estimation of software system in object oriented and structural model of academic system. Int J Comp Appl 70(10):0975–8887

    Google Scholar 

  33. Wilkie F G, McChesney I R, Morrow P, Tuxworth C, Lester N G (2011) The value of software sizing. Inf and Soft Tech 53:1236–1249

    Article  Google Scholar 

Download references

Acknowledgments

The authors are very much thankful to IIT (ISM) Dhanbad, for providing necessary help.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Subhashis Chatterjee.

Ethics declarations

Conflict of interests

The authors declare that they have no conflict of interest.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chatterjee, S., Maji, B. A bayesian belief network based model for predicting software faults in early phase of software development process. Appl Intell 48, 2214–2228 (2018). https://doi.org/10.1007/s10489-017-1078-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-017-1078-x

Keywords

Navigation