Abstract
Software quality includes many attributes including reliability of a software. Prediction of reliability of a software in early phases of software development will enable software practitioners in developing robust and fault tolerant systems. The purpose of this paper is to predict software reliability, by estimating the parameters of Software Reliability Growth Models (SRGMs). SRGMs are the mathematical models which generally reflect the properties of the process of fault detection during testing. Particle Swarm Optimization (PSO) has been applied to several optimization problems and has showed good performance. PSO is a popular machine learning algorithm under the category of Swarm Intelligence. PSO is an evolutionary algorithm like Genetic Algorithm (GA). In this paper we propose the use of PSO algorithm to the SRGM parameter estimation problem, and then compare the results with those of GA. The results are validated using data obtained from 16 projects. The results obtained from PSO have high predictive ability which is reflected by low error predictions. The results obtained using PSO are better than those obtained from GA. Hence, PSO may be used to estimate SRGM parameters.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Abbreviations
- PSO:
-
Particle Swarm Optimization
- GA:
-
Genetic algorithm
- SRGM:
-
Software reliability growth model
- NHPP:
-
Non homogeneous poisson process
- SI:
-
Swarm intelligence
- SS:
-
Swarm size
- NN:
-
Neural network
- FF:
-
Fitness function
- RMSE:
-
Root mean square error
- MARE:
-
Mean absolute relative error
- MRE:
-
Mean relative error
References
Alan W (1996) Software reliability growth models. Tandem computers, Cupertino, CA, Report
Aljahdali SH, Sheta A, Rine D (2001) Prediction of software reliability: a comparison between regression and neural network non-parametric models. In: ACS/IEEE international conference on computer systems and applications, pp 470–473
Almering V, Genuchten MV, Cloudt G, Sonnemans PJM (2007) Using software reliability growth models in practice. IEEE computer society, pp 82–88
ANSI (1991) Standard glossary of software engineering terminology. STD-729-1991, ANSI/IEEE
Bandara PLM, Wikramanayake GN, Goonethillake JS (2009) Software reliability estimation based on cubic splines. In: Proceedings of the world congress on engineering, p 1
Cabrera JCF, Coello CAC (2007) Handling constraints in Particle Swarm Optimization using a small population size. MICAI-07. Springer, Berlin. doi:10.1007/978-3-540-76631-5_5
Christian B, Daniel M (2008) Swarm intelligence. Introduction and applications. Springer, Berlin
Costa EO, Pozo A, Vergilio SR (2010) A genetic programming approach for software reliability modeling. IEEE Trans Reliab 59(1)
Eusgeld I, Freiling FC, Reussner R (2008) Dependability metrics, advanced lectures. Lecture notes in computer science, vol 4909. Springer, Berlin
Everett W, Keene S, Nikora A (1998) Applying software reliability engineering in the 1990s. IEEE Trans Reliab 47(3):372–378
Fenton N (1994) Software measurement: a necessary scientific basis. IEEE Trans Softw Eng 20(3):199–206
Harald A (2007) A family of software reliability growth models. In: 31st annual international computer software and applications conference IEEE
Hassan R, Cohanim B, Weck O, Ventor G (2005) A comparision of particle swarm optimization and the genetic algorithm. Proceedings of the First AIAA Multidisciplinary Design Optimization Specialist Conference. American Institute of Aeronautics and Astronautics, MIT, pp 18–21
Inoue S, Yamada S (2007) Generalized discrete software reliability modeling with effect of program size. IEEE Trans Syst Man Cybern Part A Syst Hum 37(2):170–179
Inoue S, Yamada S (2009) Two-dimensional software reliability measurement technologies. In: Proceedings of IEEE IEEM, pp 223–227
Jiang R (2009) Required characteristics for software reliability growth models. World Congr Softw Eng IEEE 4:228–232
Kennedy J, Eberhart R (1995) Particle Swarm Optimization. In: Proceedings of the IEEE international conference on neural networks, Perth, Australia, pp 1942–1945
Lyu MR (2007) Software reliability engineering: a roadmap. Future of Software Engineering
Malaiya YK, Jason D (1997) What do the software reliability growth model parameters represent. In: The eighth international symposium on software reliability engineering
Musa JD (1989) Software reliability: measurement, prediction, application. McGraw-Hill
Musa JD, Okumoto K (1984) A logarithmic poisson execution time model for software reliability Measurement. IEEE, 230–238
Schneidewind NF (1997) Reliability modeling for safety- critical software. IEEE Trans Reliab 46(1):88–98
Sharma K, Garg R, Nagpal CK, Garg RK (2010) Selection of optimal software reliability growth models using a distance based approach. IEEE Trans Reliab 59(2):266–276
Shigeru Y, Shunji O (1985) Software reliability growth modeling: models and applications. IEEE Trans Softw Eng SE-Il(12):1431–1437
Su YS, Huang CY (2007) Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models. J Syst Softw 80:606–615
Venter G, Haftka RT (2008) Constrained Particle Swarm Optimization using a bi-objective formulation. In: International conference on engineering computational technology, Athens, Greece
Wood A (1996) Predicting software reliability. IEEE Softw 29:69–77
Yamada S, Ohba M, Osaki S (1984) s-Shaped software reliability growth models and their applications. IEEE Trans Reliab R-33(4):289–292
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Malhotra, R., Negi, A. Reliability modeling using Particle Swarm Optimization. Int J Syst Assur Eng Manag 4, 275–283 (2013). https://doi.org/10.1007/s13198-012-0139-0
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-012-0139-0