Software fault prediction is one of the most fundamental but significant management techniques in software dependability assessment. In this paper we concern the software fault prediction using a multilayer-perceptron neural network, where the underlying software fault count data are transformed to the Gaussian data, by means of the well-known Box-Cox power transformation. More specially, we investigate the long-term behavior of software fault counts by the neural network, and perform the multi-stage look ahead prediction of the cumulative number of software faults detected in the future software testing. In numerical examples with two actual software fault data sets, we compare our neural network approach with the existing software reliability growth models based on nonhomogeneous Poisson process, in terms of predictive performance with average relative error, and show that the data transformation employed in this paper leads to an improvement in prediction accuracy.
KeywordsSoftware ReliabilityArtificial Neural NetworkBox-Cox Power TransformationLong-Term PredictionFault Count DataEmpirical Validation
Lyu, M.R. (1996) Handbook of Software Reliability Engineering. McGraw-Hill, New York.
Musa, J.D., Iannino, A. and Okumoto, K. (1987) Software Reliability, Measurement, Prediction, Application. McGraw-Hill, New York.
Pham, H. (2000) Software Reliability. Springer-Verlag, London.
Xie, M. (1991) Software Reliability Modelling. World Scientific, Singapore. https://doi.org/10.1142/1390
Sharma, K., Garg, R., Nagpal, C.K. and Garg, R.K. (2010) Selection of Optimal Software Reliability Growth Models Using a Distance Based Approach. IEEE Transactions on Reliability, 59, 266-276. https://doi.org/10.1109/TR.2010.2048657
Karunanithi, N., Malaiya, Y.K. and Whitley, D. (1991) Prediction of Software Reliability Using Neural Networks. Proceedings of the 2nd International Symposium on Software Reliability Engineering, Austin, 17-18 May 1991, 124-130.
Karunanithi, N. and Malaiya, Y.K. (1992) The Scaling Problem in Neural Networks for Software Reliability Prediction. Proceedings of the 3rd International Symposium of Software Reliability Engineering, Research Triangle Park, 7-10 October 1992, 76-82. https://doi.org/10.1109/issre.1992.285856
Karunanithi, N. and Malaiya, Y.K. (1996) Neural Networks for Software Reliability Engineering. In: Lyu, M.R., Ed., Handbook of Software Reliability Engineering, McGraw-Hill, New York, 699-728.
Blum, E.K. and Li, L.K. (1991) Approximation Theory and Feed forward Networks. Neural Networks, 4, 511-515.
Khoshgoftaar, T.M., Lanning, D.L. and Pandya, A.S. (1993) A Neural Network Modeling for Detection of High-Risk Program. Proceedings of the 4th International Symposium on Software Reliability Engineering, Denver, 3-6 November 1993, 302-309.
Khoshgoftaar, T.M., Allen, E.B., Hudepohl, J.P. and Aud, S.J. (1997) Application of Neural Networks to Software Quality Modeling of a Very Large Telecommunication System. IEEE Transactions on Neural Networks, 8, 902-909. https://doi.org/10.1109/72.595888
Khoshgoftaa, T.M. and Szabo, R.M. (1994) Predicting Software Quality during Testing Using Neural Network Models: A Comparative Study. International Journal of Reliability, Quality and Safety Engineering, 1, 303-319. https://doi.org/10.1142/S0218539394000222
Vashisht, V., Lal, M. and Sureshchandar, G.S. (2015) A Framework for Software Defect Prediction Using Neural Networks. Journal of Software Engineering and Applications, 8, 384-394. https://doi.org/10.4236/jsea.2015.88038
Abdel-Ghaly, A.A., Chan, P.Y. and Littlewood, B. (1986) Evaluation of Competing Software Reliability Predictions. IEEE Transactions on Software Engineering, 12, 950-967. https://doi.org/10.1109/TSE.1986.6313050
Achcar, J.A., Dey, D.K. and Niverthi, M. (1998) A Bayesian Approach Using Nonhomogeneous Poisson Processes for Software Reliability Models. In: Basu, A.P., Basu, K.S. and Mukhopadhyay, S., Eds., Frontiers in Reliability, World Scientific, Singapore, 1-8.
Goel, A.L. and Okumoto, K. (1979) Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures. IEEE Transactions on Reliability, 28, 206-211. https://doi.org/10.1109/TR.1979.5220566
Goel, A.L. (1985) Software Reliability Models: Assumptions, Limitations and Applicability. IEEE Transactions on Software Engineering, 11, 1411-1423. https://doi.org/10.1109/TSE.1985.232177
Gokhale, S.S. and Trivedi, K.S. (1998) Log-Logistic Software Reliability Growth Model. Proceedings of the 3rd IEEE International High-Assurance Systems Engineering Symposium, Washington DC, 13-14 November 1998, 34-41. https://doi.org/10.1109/hase.1998.731593
Littlewood, B. (1984) Rationale for a Modified Duane Model. IEEE Transactions on Reliability, 33, 157-159. https://doi.org/10.1109/TR.1984.5221762
Ohba, M. (1984) Infection S-Shaped Software Reliability Growth Model. In: Osaki, S. and Hatoyama, Y., Eds., Stochastic Models in Reliability Theory, Springer-Verlag, Heidelberg, 144-165. https://doi.org/10.1007/978-3-642-45587-2_10
Ohishi, K., Okamura, H. and Dohi, T. (2009) Gompertz Software Reliability Model: Estimation Algorithm and Empirical Validation. Journal of Systems and Software, 82, 535-543.
Okamura, H., Dohi, T. and Osaki, S. (2013) Software Reliability Growth Models with Normal Failure Time Distributions. Reliability Engineering & System Safety, 116, 135-141.
Yamada, S., Ohba, M. and Osaki, S. (1983) S-Shaped Reliability Growth Modeling for Software Error Detection. IEEE Transactions on Reliability, 32, 475-478. https://doi.org/10.1109/TR.1983.5221735
Zhao, M. and Xie, M. (1996) On Maximum Likelihood Estimation for a General Non-Homogeneous Poisson Process. Scandinavian Journal of Statistics, 23, 597-607.
Yang, B., Li, X., Xie, M. and Tan, F. (2010) A Generic Data-Driven Software Reliability Model with Model Mining Technique. Reliability Engineering & System Safety, 95, 671-678.
Xiao, X. and Dohi, T. (2013) Wavelet Shrinkage Estimation for NHPP-Based Software Reliability Models. IEEE Transactions on Reliability, 62, 211-225. https://doi.org/10.1109/TR.2013.2240897
Cheng, H., Tan, P.-N., Gao, J. and Scripps, J. (2006) Multistep-Ahead Time Series Prediction. In: Ng, W.K., Kitsurewa, M. and Li, J., Eds., Advances in Knowledge Discovery and Data Mining, LNAI 3918, Springer-Verlag, New York, 765-774.
Park, J., Lee, N. and Baik, J. (2014) On the Long-Term Predictive Capability of Data-Driven Software Reliability Model: An Empirical Evaluation. Proceedings of the 25th International Symposium on Software Reliability Engineering, Naples, 3-6 November 2014, 45-54.
Begum, M. and Dohi, T. (2016) Prediction Interval of Cumulative Number of Software Faults Using Multi-Layer Perceptron. In: Lee, R., Ed., Applied Computing & Information Technology, Studies in Computational Intelligence, Vol. 619, Springer, Berlin, 43-58.
Begum, M. and Dohi, T. (2016) A Refined Neural Network Approach for Software Fault Prediction with Grouped Data, under Submission.
Box, G.E.P. and Cox, D.R. (1964) An Analysis of Transformations. Journal of the Royal Statistical Society, Series B, 26, 211-252.
Tukey, J.W. (1957) On the Comparative Anatomy of Transformations. The Annals of Mathematical Statistics, 28, 602-632. https://doi.org/10.1214/aoms/1177706875
Dashora, I., Singal, S.K. and Srivastav, D.K. (2015) Software Application for Data Driven Prediction Models for Intermittent Stream Flow for Narmada River Basin. International Journal of Computer Applications, 113, 9-17.
Sennaroglu, B. and Senvar, O. (2015) Performance Comparison of Box-Cox Transformation and Weighted Variance Methods with Weibull Distribution. Journal of Aeronautics and Space Technologies, 8, 49-55.
Hu, Q.P., Xie, M., Ng, S.H. and Levitin, G. (2007) Robust Recurrent Neural Network Modeling for Software Fault Detection and Correction Prediction. Reliability Engineering & System Safety, 92, 332-340.
Mahajana, R., Guptab, S.K. and Bedib, R.K. (2015) Design of Software Fault Prediction Model Using BR Technique. Procardia Computer Science, 46, 849-858.
Noekhah, S., Hozhabri, A.A. and Rizi, H.S. (2013) Software Reliability Prediction Model Based on ICA Algorithm and MLP Neural Network. Proceedings of the 7th International Conference on e-Commerce in Developing Countries, Kish Island, 17-18 April 2013, 1-15. https://doi.org/10.1109/ecdc.2013.6556733
Tian, L. and Noore, A. (2005) Evolutionary Neural Network Modeling for Software Cumulative Failure Time Prediction. Reliability Engineering & System Safety, 87, 45-51.
Tian, L. and Noore, A. (2005) On-Line Prediction of Software Reliability Using an Evolutionary Connectionist Model. Journal of Systems and Software, 77, 173-180.
Okamura, H. and Dohi, T. (2013) SRATS: Software Reliability Assessment Tool on Spreadsheet. Proceedings of the 24th International Symposium on Software Reliability Engineering, Pasadena, 4-7 November 2013, 100-117.
Rana, R., Staron, M., Berger, C., Hansson, J., Nilsson, M. and Torner, F. (2013) Evaluating Long-Term Predictive Power of Standard Reliability Growth Models on Automotive Systems. Proceedings of the 24th International Symposium on Software Reliability Engineering, Pasadena, 4-7 November 2013, 228-237.
Kaneishi, T. and Dohi, T. (2013) Software Reliability Modeling and Evaluation under Incomplete Knowledge on Fault Distribution. Proceedings of the 7th IEEE International Conference on Software Security and Reliability, Gaithersburg, 18-20 June 2013, 3-12. https://doi.org/10.1109/sere.2013.28
Saito, Y. and Dohi, T. (2015) Software Reliability Assessment via Non-Parametric Maximum Likelihood Estimation. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 98, 2042-2050.