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.
Access this article
Rent this article via DeepDyve
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig1_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig2_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig3_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig4_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig5_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00500-015-1738-x/MediaObjects/500_2015_1738_Fig6_HTML.gif)
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abraham A, de Baets B, Koppen M, Nickolay B (2006) Applied soft computing technologies: the challenge of complexity, vol 34. Springer, Berlin
Bastani FB (1985) On the uncertainty in the correctness of computer programs. IEEE Trans Softw Eng 11(9):857–864
Cai KY, Wen CY, Zhang ML (1991) A critical review on software reliability modeling. Reliab Eng Syst Safe 32(3):357–371
Cai KY, Wen CY, Zhang ML (2003) A novel approach to software reliability modelling. Microelectron Reliab 33(15):2265–2267
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
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
Chatterjee S, Nigam S, Singh JB, Upadhyaya LN (2011b) Transfer function modelling in software reliability. Computing 92(1):33–48
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
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
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
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
Chen CH, Yang SY (2013) A knowledge-based cooperative differential evolution for neural fuzzy inference systems. Soft Comput 17:883–895
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
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
Gaffney JE Jr (1984) Estimating the number of faults in code. IEEE Trans Softw Eng 10(4):459–464
Hiremath PS, Tegnoor JR (2014) Fuzzy inference system for follicle detection in ultrasound images of ovaries. Soft Comput 18:1353–1362
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
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
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
Li M, Smidts CS (2003) A ranking of software engineering measures based on expert opinion. IEEE Trans Softw Eng 29(9):811–824
Lyu MR (1996) Handbook of software reliability engineering. IEEE Computer Society Press and McGraw-Hill, New York
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
Mamdani EH (1977) Application of fuzzy logic to approximate reasoning using linguistic synthesis. IEEE Trans Comput 26(12):1182–1191
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
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
Musa JD, Iannino A, Okumoto K (1987) Software reliability: measurement, prediction, application. McGraw-Hill, New York
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
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
Pham H (2006) System software reliability. Springer-Verlag, London
Pizzi NJ (2008) Software quality prediction using fuzzy integration: a case study. Soft Comput 12:67–76
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
Ross TJ (2010) Fuzzy logic with engineering applications. Wiley, New York
Smidts C, Stutzke M, Stoddard RW (1998) Software reliability modeling: an approach to early reliability prediction. IEEE Trans Reliab 47(3):268–278
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
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
Xie M (1991) Software reliability modeling. World Scientific Press, Singapore
Xie M, Hong GY, Wohlin C (1999) Software reliability prediction incorporating from a similar project. J Syst Softw 49:43–48
Yadav DK, Chaturvedi SK, Misra RB (2012) Early software defects prediction using fuzzy logic. Int J Performab Eng 8(4):399–408
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
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
Zeephongsekul P, Xia G (1996) On fuzzy debugging of software programs. Fuzzy Sets Syst 83:239–247
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
Corresponding author
Additional information
Communicated by V. Loia.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-015-1738-x