A New Software Reliability Growth Model: Genetic-Programming-Based Approach

Abstract

A variety of Software Reliability Growth Models (SRGM) have been presented in literature. These models suffer many problems when handling various types of project. The reason is; the nature of each project makes it difficult to build a model which can generalize. In this paper we propose the use of Genetic Programming (GP) as an eVolutionary computation approach to handle the software reliability modeling problem. GP deals with one of the key issues in computer science which is called automatic programming. The goal of automatic programming is to create, in an automated way, a computer program that enables a computer to solve problems. GP will be used to build a SRGM which can predict accumulated faults during the software testing process. We evaluate the GP developed model and compare its performance with other common growth models from the literature. Our experiments results show that the proposed GP model is superior compared to Yamada S-Shaped, Generalized Poisson, NHPP and Schneidewind reliability models.

Share and Cite:

Z. ALRahamneh, M. Reyalat, A. Sheta, S. Bani-Ahmad and S. Al-Oqeili, "A New Software Reliability Growth Model: Genetic-Programming-Based Approach," Journal of Software Engineering and Applications, Vol. 4 No. 8, 2011, pp. 476-481. doi: 10.4236/jsea.2011.48054.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] D. N. Arnold, “Two Disasters Caused by Computer Arithmetic Errors,” 2010. http://www.ima.umn.edu/~arnold/455.f96/disasters.html. Viewed in December 2010.
[2] J. L. Lions, “ARIANE 5 Flight 501 Failure—Report by the Inquiry Board,” December 2010. http://www.di.unito.it/~damiani/ariane5rep.html.
[3] G. Junhong, Y. Xiaozong and L. Hongwei, “Software Reliability Nonlinear Modeling and Its Fuzzy Evaluation,” 4th WSEAS International Conference, 2005.
[4] A. Yadav and R. A. Khan, “Software Reliability,” Proceedings of INDIACom-2009, 2009.
[5] M. Reyalat, “Development of a Software Reliability Growth Model using Genetic Programming,” M.Sc. Thesis, Computer Science Department, Al-Balqa Applied University, Salt, Jordan, 2005.
[6] V. Almering, M. Genuchten, G. Cloudt and P. J. M. Sonnemans, “Using Software Reliability Growth Models in Practice,” IEEE Software, Vol. 24, No. 6, November 2007, pp. 82-88.
[7] H. Okamura and T. Dohi, “Building Phase-Type Software Reliability Models,” 17th International Symposium on Software Reliability Engineering, 2006 (ISSRE’06), 7-10 November 2006, pp. 289-298.
[8] J. D. Pfefferman and B. Cernuschi-Frias, “A Nonparametric Nonstationary Procedure for Failure Prediction,” IEEE Transactions on Reliability, Vol. 51, No. 4, December 2002, pp. 434-442. doi:10.1109/TR.2002.804733
[9] P. B. Lakey and A. M. Neufelder, “System Software Reliability Assurance Notebook,” P. Lakey Boeing Corporation, 1997. http://www.cs.colostate.edu/~cs530/rh/master01.pdf.
[10] S. Aljahdali, D. Rine and A. Sheta, “Prediction of Software Reliability: A Comparison between Regression and Neural Network Nonparametric Models,” ACS/IEEE International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, 2001, pp. 470-473. doi:10.1109/AICCSA.2001.934046
[11] S. Aljahdali, A. Sheta and D. Rine, “Predicting Accumulated Faults in Software Testing Process Using Radial Basis Function Network Models,” 17th International Conference on Computers and Their Applications (CATA), Special Session on Intelligent Software Reliability, San Francisco, 2002.
[12] A. Sheta, “Reliability Growth Modeling for Software Fault Detection Using Particle Swarm Optimization,” 2006 IEEE Congress on Evolutionary Computation, Sheraton, Vancouver Wall Centre, Vancouver, 16-21 July 2006, pp. 10428-10435.
[13] H. Zeng and D. Rine, “A Neural Network Approach for Software Defects Fix Effort Estimation,” Proceedings of the Eighth IASTED International Conference Software Engineering and Applications, 2004, pp. 513-517.
[14] A. C. Hodgkinson and P. W. Garratt, “A Neurofuzzy Cost Estimator,” Proceedings of the Third Conference on Software Engineering and Applications, 1999, pp. 401- 406.
[15] S. Kumar, B. A. Krishna and P. S. Satsangi, “Fuzzy Systems and Neural Networks in Software Engineering Project Management,” Journal of Applied Intelligence, Vol. 4, 1994, pp. 31-52. doi:10.1007/BF00872054
[16] S. R. Dalal, M. R. Lyu and C. L. Mallows, “Software Reliability,” Bellcore, Lucent Technologies, AT&T Research, 1998.
[17] C. A. Asad, M. I. Ullah and M. Jaffar-Ur Rehman, “An Approach for Software Reliability Model Selection,” 28th Annual International Computer Software and Applications Conference (COMPSAC’04), 2004, pp. 534-539.
[18] J. D. Musa, “Software Reliability Engineering: More Reliable Software, Faster Development and Testing,” McGraw-Hill, New York, 1998.
[19] IEEE, “Standard Glossary of Software Engineering Terminology,” STD-729-1991, ANSI/IEEE, 1991.
[20] A. Robinson, J. Davila and M. Feinstein, “Genetic Programming: Theory, Implementation, and the Evolution of Unconstrained Solutions,” Hampshire College, 2001.
[21] J. R. Koza, “Genetic Programming: On the Programming of Computers by Means of Natural Selection,” 6th Edition, Massachusetts Institute of Technology, The MIT Press, Cambridge, 1998.
[22] J. A. Foster, “Evolutionary Computation,” Technical Report, Department of Computer Science. Digital Genetics Workgroup, Lab for Applied Logic, The University of Idaho, February 1998. http://citeseerx.ist.psu.edu/viewdoc/download;jsessioid=BB08A0A2336B38D5A82F8F8121729500?doi=10.1.1.49.9833&rep=rep1&type=pdf.
[23] J. R. Koza, “Genetic Programming: A Paradigm for Genetically Breeding Populations of Computer Programs to Solve Problems,” Technical Report, Stanford University, Stanford, 1990. http://portal.acm.org/citation.cfm?id=892491.
[24] A. L. Samuel, “Some Studies in Machine Learning Using the Game of Checkers,” MIT Press, Cambridge, 1995, pp. 71-105.
[25] Z. Jelinski and P. B. Moranda, “Software Reliability Research,” In: W. Freiberger, Ed., Statistical Computer Performance Evaluation, Academic Press, New York, 1972, pp. 465-484.
[26] Y. K. Malaiya, N. Karunanithi and P. Verma, “Predictability of Software-Reliability Models,” IEEE Transactions on Reliability, Vol. 41, No. 4, December 1992, pp. 539-546. doi:10.1109/24.249581
[27] J. D. Musa, “A Theory of Software Reliability and Its Application,” IEEE Transactions on Software Engineering, Vol. 1, No. 3, 1975, pp. 312-327.
[28] P. A. Killer and D. R. Miller, “On the Use and Performance of Software Reliability Growth Models,” Reliability Engineering and System Safety, Vol. 32, No. 1-2, 1991, pp. 95-117. doi:10.1016/0951-8320(91)90049-D
[29] T. M. Khoshgoftaar and T. G. Woodcock, “Software Reliability Model Selection: A Cast Study,” Proceedings of International Symposium on Software Reliability Engineering, Austin, 17-18 May 1991, pp. 183-191.
[30] G. J. Knaf and J. Sacks, “Software Reliability Model Selection,” Proceedings of Computer Software and Application Conference, September 1991, pp. 597-601.
[31] D. Zongker and B. Punch, “lilgp 1.01 User’s Manual,” Bill Rand Michigan State University, March 1996.
[32] Y. Tohma, K. Tokunaga, S. Nagase and Y. Murata, “Structural Approach to the Estimation of the Number of Residual Software Faults Based on the Hyper-Geometric Distribution,” IEEE Transactions on Software Engineering, Vol. 15, No. 3, March 1989, pp. 345-355.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.