Skip to main content
Log in

A new fuzzy rule based algorithm for estimating software faults in early phase of development

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Estimation of reliability and the number of faults present in software in its early development phase, i.e., requirement analysis or design phase is very beneficial for developing reliable software with optimal cost. Software reliability prediction in early phase of development is highly desirable to the stake holders, software developers, managers and end users. Since, the failure data are unavailable in early phase of software development, different reliability relevant software metrics and similar project data are used to develop models for early software fault prediction. The proposed model uses the linguistic values of software metrics in fuzzy inference system to predict the total number of faults present in software in its requirement analysis phase. Considering specific target reliability, weightage of each input software metrics and size of software, an algorithm has been proposed here for developing general fuzzy rule base. For model validation of the proposed model, 20 real software project data have been used here. The linguistic values from four software metrics related to requirement analysis phase have been considered as model inputs. The performance of the proposed model has been compared with two existing early software 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.

Institutional subscriptions

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

Similar content being viewed by others

References

  • Abraham A, de Baets B, Koppen M, Nickolay B (2006) Applied soft computing technologies: the challenge of complexity, vol 34. Springer, Berlin

    Book  MATH  Google Scholar 

  • Bastani FB (1985) On the uncertainty in the correctness of computer programs. IEEE Trans Softw Eng 11(9):857–864

    Article  MATH  Google Scholar 

  • Cai KY, Wen CY, Zhang ML (1991) A critical review on software reliability modeling. Reliab Eng Syst Safe 32(3):357–371

    Article  Google Scholar 

  • Cai KY, Wen CY, Zhang ML (2003) A novel approach to software reliability modelling. Microelectron Reliab 33(15):2265–2267

    Article  Google Scholar 

  • Chatterjee S, Misra RB, Alam SS (1997) Joint effect of test and learning factor on software reliability and optimal release policy. Int J Syst Sci 28:391–396

    Article  MATH  Google Scholar 

  • Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2011a) Application of fuzzy time series in prediction of time between failures and faults in software reliability assessment. Fuzzy Inf Eng 3(3):293–309

    Article  MathSciNet  Google Scholar 

  • Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2011b) Transfer function modelling in software reliability. Computing 92(1):33–48

    Article  MathSciNet  MATH  Google Scholar 

  • Chatterjee S, Singh JB, Nigam S, Upadhyaya LN (2011c) Prediction of software reliability using fuzzy ARIMA model. Int J Fuzzy Math 19(2):495–502

    Google Scholar 

  • Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2012) Effect of change point and imperfect debugging in software reliability and its optimal release policy. Math Comput Modell Dyn Syst 18(5):539–551

    Article  MathSciNet  MATH  Google Scholar 

  • Chatterjee S, Singh JB, Roy A (2015) A structure based software reliability allocation using fuzzy analytic hierarchy process. Int J Syst Sci 46(3):513–525

    Article  MathSciNet  MATH  Google Scholar 

  • Chatterjee S, Roy A (2014) Web software fault prediction under fuzzy environment using MODULO-M multivariate overlapping fuzzy clustering algorithm and newly proposed revised prediction algorithm. Appl Soft Comput 22:372–396

    Article  Google Scholar 

  • Chen CH, Yang SY (2013) A knowledge-based cooperative differential evolution for neural fuzzy inference systems. Soft Comput 17:883–895

    Article  Google Scholar 

  • Cheung L, Roshandel R, Medvidovic N, Golubchik L (2008) Early prediction of software component reliability. Proceedings of the 30th international conference on Softw Eng, ACM, Leipzig, Germany, pp 111–120

  • Fenton N, Neil M, Marsh W, Hearty P, Marquez D, Krause P, Mishra R (2007a) Predicting software defects in varying development lifecycles using Bayesian nets. Inf Softw Technol 49:32–43

    Article  Google Scholar 

  • Fenton N, Neil M, Marsh W, Hearty P, Radlinski L (2007b) 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

  • Fenton N, Neil M, Marsh W, Hearty P, Radlinski L, Krause P (2008) On the effectiveness of early life cycle defect prediction with Bayesian nets. Empir Softw Eng 13(5):499–537

    Article  Google Scholar 

  • Gaffney JE Jr (1984) Estimating the number of faults in code. IEEE Trans Softw Eng 10(4):459–464

    Article  MathSciNet  Google Scholar 

  • Hiremath PS, Tegnoor JR (2014) Fuzzy inference system for follicle detection in ultrasound images of ovaries. Soft Comput 18:1353–1362

    Article  Google Scholar 

  • Jiang Y, Cukic B, Menzies T (2007) Fault prediction using early lifecycle data. In: Proceedings of the eighteenth IEEE international symposium on software reliability engineering, pp 237–246

  • Kapur PK, Pham H, Gupta A, Jha PC (2011) Software reliability assessment with OR applications. Springer-Verlag, London

    Book  MATH  Google Scholar 

  • Kim Y, Choi O, Kim M, Baik J, Kim TH (2013) Validating software reliability early through statistical model checking. IEEE Softw 30(3):35–41

    Article  Google Scholar 

  • Kumar KS, Misra RB (2008) An enhanced model for early software reliability prediction using software engineering metrics. In: Proceedings of the second international conference on secure system integration and reliability improvement, IEEE, pp 177–178

  • Lipow M (1982) Number of faults per line of code. IEEE Trans Softw Eng 8(4):437–439

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Lyu MR (1996) Handbook of software reliability engineering. IEEE Computer Society Press and McGraw-Hill, New York

    Google Scholar 

  • Maji K, Pratihar DK, Nath AK (2013) Analysis and synthesis of laser forming process using neural networks and neuro-fuzzy inference system. Soft Comput 17:849–865

    Article  Google Scholar 

  • Mamdani EH (1977) Application of fuzzy logic to approximate reasoning using linguistic synthesis. IEEE Trans Comput 26(12):1182–1191

    Article  MATH  Google Scholar 

  • Mohan KK, Verma AK, Srividya A (2011) An effective early software reliability prediction procedure for process oriented development at prototype level employing artificial neural networks. Int J Reliab Qual Safe Eng 18(3):237–250

    Article  Google Scholar 

  • Mohanta S, Vinod G, Ghosh AK, Mall R (2010) An approach for early prediction of software reliability. ACM SIGSOFT Softw Eng 35(6):1–9

    Article  Google Scholar 

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

    Google Scholar 

  • Pandey AK, Goyal NK (2009) A fuzzy model for early software fault prediction using process maturity and software metrics. Int J Electron Eng 1(2):239–245

    Google Scholar 

  • Pandey AK, Goyal NK (2010) Fault prediction model by fuzzy profile development of reliability relevant software metrics. Int J Comput Appl 11(6):34–41

    Google Scholar 

  • Pham H (2006) System software reliability. Springer-Verlag, London

    Book  Google Scholar 

  • Pizzi NJ (2008) Software quality prediction using fuzzy integration: a case study. Soft Comput 12:67–76

    Article  MathSciNet  Google Scholar 

  • 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 Comput Appl 70(10):0975–8887

    Google Scholar 

  • Ross TJ (2010) Fuzzy logic with engineering applications. Wiley, New York

    Book  Google Scholar 

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

    Article  Google Scholar 

  • Tripathi R, Mall R (2005) Early stage software reliability and design assessment. In: Proceedings of the twelfth Asia-Pacific software engineering conference (APSEC’05). doi:10.1109/APSEC.2005.63

  • Tyagi K, Sharma A (2012) A rule-based approach for estimating the reliability of component-based systems. Adv Eng Softw 54:24–29

    Article  Google Scholar 

  • Ulutagay G, Ecer F, Nasibov E (2015) Performance evaluation of industrial enterprises via fuzzy inference system approach: a case study. Soft Comput 19:449–458

    Article  Google Scholar 

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

    Book  MATH  Google Scholar 

  • Xie M, Hong GY, Wohlin C (1999) Software reliability prediction incorporating from a similar project. J Syst Softw 49:43–48

    Article  Google Scholar 

  • Yadav DK, Chaturvedi SK, Misra RB (2012) Early software defects prediction using fuzzy logic. Int J Performab Eng 8(4):399–408

    Google Scholar 

  • Yadav HB, Yadav DK (2014) Early software reliability analysis using reliability relevant software metrics. Int J Syst Assur Eng Manag. doi:10.1007/s13198-014-0325-3

    Google Scholar 

  • Zadeh LA (1965) Fuzzy sets. Inf Control 8(3):338–35

  • Zadeh LA (1989) Knowledge representation in fuzzy logic. IEEE Trans Knowl Data Eng 1:89–100

    Article  Google Scholar 

  • Zeephongsekul P, Xia G (1996) On fuzzy debugging of software programs. Fuzzy Sets Syst 83:239–247

    Article  Google Scholar 

Download references

Acknowledgments

The authors are thankful to ISM, Dhanbad, for providing necessary help. The authors are also thankful to the reviewers for their valuable comments and suggestions.

Conflict of interest

The authors declare that they have no conflict of interest.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Subhashis Chatterjee.

Additional information

Communicated by V. Loia.

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 new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comput 20, 4023–4035 (2016). https://doi.org/10.1007/s00500-015-1738-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-015-1738-x

Keywords

Navigation