Abstract
Software reliability models are one of the most generally used mathematical tool for estimation of reliability, failure rate and number of remaining faults in the software. Existing software reliability models are designed to follow waterfall software development life cycle process. These existing models do not take advantage of iterative software development process. In this paper, a new failure rate model centered on iterative software development life cycle process has been developed. It aims to integrate a new modulation factor for incorporating varying needs in each phase of iterative software development process. It comprises imperfect debugging with the possibility of fault introduction and removal of multiple faults in an interval as iterative development of the software proceeds. The proposed model has been validated on twelve iterations of Eclipse software failure dataset and nine iterations of Java Development toolkit (JDT) software failure dataset. Parameter estimation for the proposed model has been done by hybrid particle swarm optimization and gravitational search algorithm. Experimental results in-terms of goodness-of-fit shows that proposed model has outperformed Jelinski Moranda, Shick Wolverton, Goel Okummotto Imperfect debugging, GS Mahapatra, Modified Shick Wolverton in 83.33% of iterations for eclipse dataset and 77.77% of iterations for JDT dataset.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
IEEE standard glossary of software engineering terminology. In: ANSI/IEEE Std 729-1983, pp.1–40. IEEE (1983). https://doi.org/10.1109/ieeestd.1983.7435207
Abraham, A., Jatoth, R.K., Rajasekhar, A.: Hybrid differential artificial bee colony algorithm. J. Comput. Theor. Nanosci. 9(2), 249–257 (2012). https://doi.org/10.1166/jctn.2012.2019
Abrahamsson, P.: Extreme programming: first results from a controlled case study. In: Proceedings of the 20th IEEE Instrumentation Technology Conference (Cat No 03CH37412) EURMIC-03, IEEE. https://doi.org/10.1109/eurmic.2003.1231599 (2003)
Akbar, M.A., Sang, J., Khan, A.A., Fazal-E-Amin, Nasrullah, Shafiq, M., Hussain, S., Hu, H., Elahi, M., Xiang, H.: Improving the quality of software development process by introducing a new methodology–AZ-model. IEEE Access 6, 4811–4823 (2018). https://doi.org/10.1109/access.2017.2787981
Basil, V.R., Turner, A.J.: Iterative enhancement: a practical technique for software development. IEEE Trans. Softw. Eng. SE-1(4), 390–396 (1975). https://doi.org/10.1109/tse.1975.6312870
Bharathi, R., Selvarani, R.: Hidden Markov model approach for software reliability estimation with logic error. Int. J. Autom. Comput. 17, 1–16 (2020)
Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 1, 4–21 (1984)
Boehm, B.: A spiral model of software development and enhancement. ACM SIGSOFT Softw. Eng. Notes 11(4), 14–24 (1986). https://doi.org/10.1145/12944.12948
Chang, Y.C., Liu, C.T.: A generalized JM model with applications to imperfect debugging in software reliability. Appl. Math. Modell. 33(9), 3578–3588 (2009). https://doi.org/10.1016/j.apm.2008.11.018
Garg, R.K., Sharma, K., Nagpal, C.K., Garg, R., Garg, R., Kumar, R., Sandhya: Ranking of software engineering metrics by fuzzy-based matrix methodology. Softw. Test. Verif. Reliab. 23(2), 149–168 (2011). https://doi.org/10.1002/stvr.459
Gokhale, S.S., Trivedi, K.S.: A time/structure based software reliability model. Ann. Softw. Eng. 8(1/4), 85–121 (1999). https://doi.org/10.1023/a:1018923329647
Gokhale, S.S., Marinos, P.N., Trivedi, K.S.: Important milestones in software reliability modeling. Tech. rep., North Carolina State University. Center for Advanced Computing and Communication (1996)
Gokhale, S., Wong, W., Trivedi, K., Horgan, J.: An analytical approach to architecture-based software reliability prediction. In: Proceedings. IEEE International Computer Performance and Dependability Symposium. IPDS-98 (Cat. No.98TB100248). IEEE Computer Society (1998). https://doi.org/10.1109/ipds.1998.707705
Gokhale, S.S., Lyu, M.R., Trivedi, K.S.: Analysis of software fault removal policies using a non-homogeneous continuous time Markov chain. Softw. Qual. J. 12(3), 211–230 (2004). https://doi.org/10.1023/b:sqjo.0000034709.63615.8b
Goševa-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45(2–3), 179–204 (2001)
Greer, D., Ruhe, G.: Software release planning: an evolutionary and iterative approach. Inf. Softw. Technol. 46(4), 243–253 (2004). https://doi.org/10.1016/j.infsof.2003.07.002
Holland, J.H.: Genetic algorithms. Sci. Am. 267(1), 66–72 (1992). https://doi.org/10.1038/scientificamerican0792-66
Huang, C.Y., Lyu, M.: Optimal release time for software systems considering cost, testing-effort, and test efficiency. IEEE Trans. Reliab. 54(4), 583–591 (2005). https://doi.org/10.1109/tr.2005.859230
Huang, C.Y., Lyu, M., Kuo, S.Y.: A unified scheme of some nonhomogenous poisson process models for software reliability estimation. IEEE Trans. Softw. Eng. 29(3), 261–269 (2003). https://doi.org/10.1109/tse.2003.1183936
Jelinski, Z., Moranda, P.: Software reliability research. In: Statistical Computer Performance Evaluation, pp. 465–484. Elsevier, Amsterdam (1972). https://doi.org/10.1016/b978-0-12-266950-7.50028-1
Jin, C., Jin, S.W.: Parameter optimization of software reliability growth model with s-shaped testing-effort function using improved swarm intelligent optimization. Appl. Soft Comput. 40, 283–291 (2016). https://doi.org/10.1016/j.asoc.2015.11.041
Kapur, P.K., Garg, R.B.: Optimal release policies for software systems with testing effort. Int. J. Syst. Sci. 22(9), 1563–1571 (1991). https://doi.org/10.1080/00207729108910731
Kapur, P., Younes, S.: Modelling an imperfect debugging phenomenon in software reliability. Microelectron. Reliab. 36(5), 645–650 (1996)
Kapur, P.K., Pham, H., Aggarwal, A.G., Kaur, G.: Two dimensional multi-release software reliability modeling and optimal release planning. IEEE Trans. Reliab. 61(3), 758–768 (2012). https://doi.org/10.1109/tr.2012.2207531
Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proceedings of International Conference on Neural Networks ICNN’95. IEEE (1995). https://doi.org/10.1109/icnn.1995.488968
Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Professional, Boston (2004)
Kumar, S., Ranjan, P.: A phase wise approach for fault identification. J. Inf. Optim. Sci. 39(1), 223–237 (2017). https://doi.org/10.1080/02522667.2017.1380420
Larman, C.: Agile and Iterative Development: A Manager’s Guide. Addison-Wesley Professional, Boston (2004)
Larman, C., Basili, V.: Iterative and incremental developments a brief history. Computer 36(6), 47–56 (2003). https://doi.org/10.1109/mc.2003.1204375
Littlewood, B.: Software reliability model for modular program structure. IEEE Trans. Reliab. R-28(3), 241–246 (1979). https://doi.org/10.1109/tr.1979.5220576
Littlewood, B., Sofer, A.: A Bayesian modification to the Jelinski–Moranda software reliability growth model. Softw. Eng. J. 2(2), 30 (1987). https://doi.org/10.1049/sej.1987.0005
Luo, Z., Cao, P., Tang, G., Wu, L.: A modification to the Jelinski–Moranda software reliability growth model based on cloud model theory. In: 2011 Seventh International Conference on Computational Intelligence and Security. IEEE (2011). https://doi.org/10.1109/cis.2011.51
Mahapatra, G., Roy, P.: Modified Jelinski–Moranda software reliability model with imperfect debugging phenomenon. Int. J. Comput. Appl. 48(18), 38–46 (2012). https://doi.org/10.5120/7451-0534
McCall, J., Randall, W., Bowen, C., McKelvey, N., Senn, R.: Methodology for software reliability prediction, vol.2. Tech. rep. (1987). https://doi.org/10.21236/ada190019
Mirjalili, S., Hashim, S.Z.M.: A new hybrid PSOGSA algorithm for function optimization. In: 2010 International Conference on Computer and Information Application. IEEE (2010). https://doi.org/10.1109/iccia.2010.6141614
Mirjalili, S., Wang, G.G., Coelho, L.D.S.: Binary optimization using hybrid particle swarm optimization and gravitational search algorithm. Neural Comput. Appl. 25(6), 1423–1435 (2014). https://doi.org/10.1007/s00521-014-1629-6
Model, W.: Waterfall model. Luettavissa. 3 (2015). http://www.waterfall-model.com/Luettu
Moranda, P.B.: An error detection model for application during software development. IEEE Trans. Reliab. R-30(4), 309–312 (1981). https://doi.org/10.1109/tr.1981.5221096
Musa, J.D., Okumoto, K.: A logarithmic poisson execution time model for software reliability measurement. In: Proceedings of the 7th International Conference on Software Engineering, pp. 230–238. Citeseer (1984)
Myung, I.J.: Tutorial on maximum likelihood estimation. J. Math. Psychol. 47(1), 90–100 (2003)
Ohba, M.: Inflection s-shaped software reliability growth model. In: Lecture Notes in Economics and Mathematical Systems, pp. 144–162. Springer, Berlin (1984). https://doi.org/10.1007/978-3-642-45587-2_10
Olague, H.M., Etzkorn, L.H., Gholston, S., Quattlebaum, S.: Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans. Softw. Eng. 33(6), 402–419 (2007). https://doi.org/10.1109/tse.2007.1015
Ortiz, E.: Software-quality improvement using reliability-growth models. In: Annual Reliability and Maintainability Symposium 1995 Proceedings. IEEE (1995). https://doi.org/10.1109/rams.1995.513244
Pavlov, N., Iliev, A., Rahnev, A., Kyurkchiev, N.: Application of a new class cumulative lifetime distribution to software reliability analysis. Commun. Appl. Anal. 22(4), 555–565 (2018). https://doi.org/10.12732/caa.v22i4.4
Pham, H.: Software reliability modeling. In: Springer Series in Reliability Engineering, pp. 153–177. Springer, London (2006). https://doi.org/10.1007/1-84628-295-0_5
Rana, R., Staron, M., Berger, C., Hansson, J., Nilsson, M., Torner, F.: Comparing between maximum likelihood estimator and non-linear regression estimation procedures for NHPP software reliability growth modelling. In: 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement. IEEE (2013). https://doi.org/10.1109/iwsm-mensura.2013.37
Roy, P., Mahapatra, G.S., Dey, K.N.: AN NHPP software reliability growth model with imperfect debugging and error generation. Int. J. Reliab. Qual. Saf. Eng. 21(02), 1450008 (2014). https://doi.org/10.1142/s0218539314500089
Sangeeta, Sitender: Comprehensive analysis of hybrid nature-inspired algorithms for software reliability analysis. J. Stat. Manag. Syst. 23(6), 1037–1048 (2020)
Sangeeta, Sharma, K., et al.: A quantitative testing effort estimate for reliability assessment of multi release open source software systems. J. Comput. Theor. Nanosci. 16, 5089–5098 (2019)
Sangeeta, Sharma, K., Bala, M.: An ecological space based hybrid swarm-evolutionary algorithm for software reliability model parameter estimation. Int. J. Syst. Assur. Eng. Manag. 11(1), 77–92 (2020a)
Sangeeta, Sharma, K., Bala, M., et al.: Reliability analysis and modeling of green computing based software systems. Recent Adv. Comput. Sci. Commun. https://www.researchgate.net/publication/338662632_Reliability_Analysis_and_Modeling_of_Green_Computing_Based_Software_Systems (2020b)
Schick, G., Wolverton, R.: An analysis of competing software reliability models. IEEE Trans. Softw. Eng. SE-4(2), 104–120 (1978). https://doi.org/10.1109/tse.1978.231481
Sharma, K., Garg, R., Nagpal, C.K., Garg, R.K.: Selection of optimal software reliability growth models using a distance based approach. IEEE Trans. Reliab. 59(2), 266–276 (2010). https://doi.org/10.1109/tr.2010.2048657
Sharma, K., Bala, M., et al.: Magnetic navigation based optimizer: a new optimization algorithm for software reliability model parameter estimation. J. Adv. Res. Dyn. Control Syst. (14), 1957–1968 (2018)
Sheta, A.: Reliability growth modeling for software fault detection using particle swarm optimization. In: 2006 IEEE International Conference on Evolutionary Computation IEEE (2006). https://doi.org/10.1109/cec.2006.1688697
Singh, V., Sharma, M., Pham, H.: Entropy based software reliability analysis of multi-version open source software. IEEE Trans. Softw. Eng. 44(12), 1207–1223 (2018). https://doi.org/10.1109/tse.2017.2766070
Smidts, C., Stutzke, M., Stoddard, R.: Software reliability modeling: an approach to early reliability prediction. IEEE Trans. Reliab. 47(3), 268–278 (1998)
Tripathi, A.K., Sharma, K., Bala, M.: Military dog based optimizer and its application to fake review. arXiv preprint arXiv:190911890 (2019)
Turk, L.I.A., Alsolami, E.G.: Jelinski–Moranda software reliablity growth model?: A brief literature and modification. Int. J. Softw. Eng. Appl. 7(2), 33–44 (2016). https://doi.org/10.5121/ijsea.2016.7204
Wahab, M.N.A., Nefti-Meziani, S., Atyabi, A.: A comprehensive review of swarm optimization algorithms. PLOS ONE 10(5), e0122827 (2015). https://doi.org/10.1371/journal.pone.0122827
Wang, W.L., Wu, Y., Chen, M.H.: An architecture-based software reliability model. In: Proceedings: Pacific Rim International Symposium on Dependable Computing. IEEE Computer Society (1999). https://doi.org/10.1109/prdc.1999.816223
Wei, X., Dong, Y., Li, X., Wong, W.E.: Architecture-level hazard analysis using AADL. J. Syst. Softw. 137, 580–604 (2018). https://doi.org/10.1016/j.jss.2017.06.018
Weiss, S., Weyuker, E.: An extended domain-based model of software reliability. IEEE Trans. Softw. Eng. 14(10), 1512–1524 (1988). https://doi.org/10.1109/32.6196
Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Softw. Eng. 42(8), 707–740 (2016). https://doi.org/10.1109/tse.2016.2521368
Xavier, J., Macêdo, A., Matias, R., Borges, L.: A survey on research in software reliability engineering in the last decade. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing. ACM Press (2014). https://doi.org/10.1145/2554850.2555161
Xiang, J., Machida, F., Tadano, K., Maeno, Y.: An imperfect fault coverage model with coverage of irrelevant components. IEEE Trans. Reliab. 64(1), 320–332 (2015). https://doi.org/10.1109/tr.2014.2363155
Xie, M.: Software Reliability Modelling, vol. 1. World Scientific, Singapore (1991)
Yamada, S., Ohba, M., Osaki, S.: S-shaped reliability growth modeling for software error detection. IEEE Trans. Reliab. R-32(5), 475–484 (1983). https://doi.org/10.1109/tr.1983.5221735
Yamada, S., Ohtera, H., Narihisa, H.: Software reliability growth models with testing-effort. IEEE Trans. Reliab. 35(1), 19–23 (1986). https://doi.org/10.1109/tr.1986.4335332
Yamada, S., Ohtera, H., Ohba, M.: Testing-domain dependent software reliability models. Comput. Math. Appl. 24(1–2), 79–86 (1992)
Yang, X.S.: Nature-inspired mateheuristic algorithms: success and new challenges. J. Comput. Eng. Inf. Technol. 01(01), 1–3 (2012). https://doi.org/10.4172/2324-9307.1000e101
Yang, X.S.: Bat algorithms. In: Nature-Inspired Optimization Algorithms, pp. 141–154. Elsevier, Amsterdam (2014). https://doi.org/10.1016/b978-0-12-416743-8.00010-5
Zhang, X., Teng, X., Pham, H.: Considering fault removal efficiency in software reliability assessment. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 33(1), 114–120 (2003). https://doi.org/10.1109/tsmca.2003.812597
Funding
No funding information is available for this manuscript.
Author information
Authors and Affiliations
Contributions
All authors in this manuscript contributes equally.
Corresponding author
Ethics declarations
Conflict of interest
We have no conflicts of interest to disclose.
Ethics approval
This article does not contain any studies with animals performed by any of the authors. This article does not contain any studies with human participants or animals performed by any of the authors.
Consent for publication
We give our consent for the publication of this article in your esteemed journal.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Sangeeta, Sitender, Sharma, K. et al. New failure rate model for iterative software development life cycle process. Autom Softw Eng 28, 9 (2021). https://doi.org/10.1007/s10515-021-00288-9
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-021-00288-9