Abstract
The production engineers and system designers have been interested in computer-based system reliability and performance measurements due to a wide range of applications emerging both in the military and industrial world. Software failures can happen even with the best quality of computer-based systems due to a variety of failure mechanisms, resulting in major consequences such as human life loss, significant economic losses etc. There are numerous models worked out for measuring the reliability value of software assuming a wide variety of failure dependencies and compatibility issues. This investigation deals with software reliability and modelling steps for developing software models. We present several important factors, failure implications, system reliability computation procedure, as well as strategies implemented at the software reliability engineering level and quote recent developments of software models. Without software fault tolerance, it is practically impossible to build a totally fault tolerant system. Software fault tolerance is the capacity of software to recover and detect from a fault that is occurring or has already occurred. We explore some fault tolerant techniques that use protective redundancy at the software level to ensure the system reliability. A thorough examination of reliability modelling will be beneficial for both researchers and practitioners studying reliability assessment of software systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ravishanker N, Liu Z, Ray BK (2008) NHPP models with Markov switching for software reliability. Comput Stat Data Anal 52(8):3988–3999
Rani P, Mahapatra GS (2019) A novel approach of NPSO on dynamic weighted NHPP model for software reliability analysis with additional fault introduction parameter. Heliyon 5(7):e02082
Shrivastava AK, Kumar V, Kapur PK, Singh O (2020) Software release and testing stop time decision with change point. Int J Syst Assur Eng Manag 11:196–207. https://doi.org/10.1007/s13198-020-00988-7
Lin K, Chen Y (2021) Two new multi-phase reliability growth models from the perspective of time between failures and their applications. Chin J Aeronaut 34(5):341–349
Saxena P, Singh N, Shrivastava AK, Kumar V (2021) Testing effort based SRGM and release decision under fuzzy environment. Int J Reliab Saf 15(3):123–140. https://doi.org/10.1504/IJRS.2021.123275
Huang YS, Chiu KC, Chen WM (2022) A software reliability growth model for imperfect debugging. J Syst Softw 188:111267. https://doi.org/10.1016/j.jss.2022.111267
Bibyan R, Anand S, Aggarwal AG, Kaur G (2023) Multi-release software model based on testing coverage incorporating random effect (SDE). MethodsX 10:102076. https://doi.org/10.1016/j.mex.2023.102076
Shatnawi O (2009) Discrete time NHPP models for software reliability growth phenomenon. Int Arab J Inf Technol 6(2):124–131
Aggarwal AG, Kapur PK, Nijhawan N (2018) A discrete SRGM for multi-release software system with faults of different severity. Int J Oper Res 32(2):156–168. Inderscience Publishers
Kumaran AMJM, Ramasamy S (2020) A dynamically weighted discrete combination model for all releases of a software system. Microprocess Microsyst 79:103290
Goel AL, Okumoto K (1979) Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Trans Reliab 28(3):206–211
Kapur PK, Garg RB (1990) Optimal software release policies for software reliability growth models under imperfect debugging. RAIRO-Oper Res 24(3):295–305
Yamada S, Tokuno K, Osaki S (1992) Imperfect debugging models with fault introduction rate for software reliability assessment. Int J Syst Sci 23(12):2241–2252
Chang YP (2001) Estimation of parameters for nonhomogeneous poison process: software reliability with change-point model. Commun Stat Part B: Simul Comput 30(3):623–635
Yamada S, Ohtera H, Narihisa H (1986) Software reliability growth models with testing-effort. IEEE Trans Reliab 35(1):19–23
Chang YC, Liu CT (2009) A generalized JM model with applications to imperfect debugging in software reliability. Appl Math Model 33(9):3578–3588
Aktekin T, Caglar T (2013) Imperfect debugging in software reliability: a Bayesian approach. Eur J Oper Res 227(1):112–121
Li Q, Pham H (2017) NHPP software reliability model considering the uncertainty of operating environments with imperfect debugging and testing coverage. Appl Math Model 51:68–85
Kapur PK, Pham H, Anand S, Yadav K (2011) A unified approach for developing software reliability growth models in the presence of imperfect debugging and error generation. IEEE Trans Reliab 60(1):331–340
Roy P, Mahapatra GS, Dey KN (2014) An NHPP software reliability growth model with imperfect debugging and error generation. Int J Reliab Qual Saf Eng 21(02):1450008
Verma V, Anand S, Kapur PK, Aggarwal AG (2022) Unified framework to assess software reliability and determine optimal release time in presence of fault reduction factor, error generation and fault removal efficiency. Int J Syst Assur Eng Manag. Springer India. https://doi.org/10.1007/s13198-022-01653-x
Pham H, Zhang X (2003) NHPP software reliability and cost models with testing coverage. Eur J Oper Res 145(2):443–454
Kapur PK, Goswami DN, Bardhan A, Singh O (2008) Flexible software reliability growth model with testing effort dependent learning process. Appl Math Model 32(7):1298–1307
Jin C, Jin SW (2016) Parameter optimization of software reliability growth model with S-shaped testing-effort function using improved swarm intelligent optimization. Appl Soft Comput J 40:283–291
Arora R, Aggarwal A (2020) Testing effort based software reliability assessment incorporating FRF and change point. Yugosl J Oper Res 30(3):273–288
Huang CY, Hung TY (2010) Software reliability analysis and assessment using queueing models with multiple change-points. Comput Math Appl 60(7):2015–2030. Elsevier Ltd.
Aggarwal AG, Dhaka V, Nijhawan N (2017) Reliability analysis for multi-release open-source software systems with change point and exponentiated Weibull fault reduction factor. Life Cycle Reliab Saf Eng 6(1):3–14. Springer Singapore
Ke S, Huang C (2020) Software reliability prediction and management: a multiple change-point model approach. Qual Reliab Eng Int 36(5):1678–1707
Kumar V, Mathur P, Sahni R, Anand M (2016) Two-dimensional multi-release software reliability modeling for fault detection and fault correction processes. Int J Reliab Qual Saf Eng 23(03):1640002
Aggarwal AG, Gandhi N, Verma V, Tandon A (2019) Multi-release software reliability growth assessment: an approach incorporating fault reduction factor and imperfect debugging. Int J Math Oper Res 15(4):446–463
Kumar V, Sahni R (2020) Dynamic testing resource allocation modeling for multi-release software using optimal control theory and genetic algorithm. Int J Qual Reliab Manag 37(6/7):1049–1069. https://doi.org/10.1108/IJQRM-09-2019-0296
Aggarwal AG, Kumar S, Gupta R (2023) Multi-release software reliability assessment: testing coverage-based approach. Int J Math Oper Res 24(4):583–594
Kapur PK, Garg RB (1991) Optimum release policy for an inflection s-shaped software reliability growth model. Microelectron Reliab 31(1):39–41
Jain M, Gupta R (2011) Optimal release policy of module-based software. Qual Technol Quant Manag 8(2):147–165
Aggarwal AG, Jaggi CK, Nijhawan N (2017) Optimal release policy for multi-release software system. Int J Oper Res Inf Syst 8(3):21–38
Liu P, Wang G, Su P (2021) Optimal replacement strategies for warranty products with multiple failure modes after warranty expiry. Comput Ind Eng 153(December 2020):107040. https://doi.org/10.1016/j.cie.2020.107040
Randell B (1975) System structure for software fault tolerance. IEEE Trans Softw Eng SE-1(2):220–232. https://doi.org/10.1109/TSE.1975.6312842
Elmendorf WR (1972) Fault-tolerant programming. In: Proceedings of the FTCS-2, Newton, MA, pp 79–83
Berman O, Kumar UD (1999) Optimization models for recovery block schemes. Eur J Oper Res 115(2):368–379
Abulnaja OA (2005) Component-based recovery block technique. AIML 5(2):1–5
Reghenzani F, Guo Z, Fornaciari W (2023) Software fault tolerance in real-time systems: identifying the future research questions. ACM Comput Surv, 1–29https://doi.org/10.1145/3589950
Eckhardt DE, Lee LD (1988) Fundamental differences in the reliability of N-modular redundancy and N-version programming. J Syst Softw 8(4):313–318
Gupta R, Jain M (2020) Reliability of N-version programming software with testing effort. Int J Reliab Saf 14(4):229–251
Subasi N, Guner U, Ustoglu I (2021) N-version programming approach with implicit safety guarantee for complex dynamic system stabilization applications. Meas Control 54(3–4):269–278
Serban A, Visser J (2022). Adapting software architectures to machine learning challenges. In: IEEE international conference on software analysis, evolution and reengineering (SANER), Honolulu, HI, USA, pp 152–163. https://doi.org/10.1109/SANER53432.2022.00029
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Gupta, R., Kumar, S., Aggarwal, A.G. (2024). Reliability Perspective of Software Models: An Overview. In: Kapur, P.K., Pham, H., Singh, G., Kumar, V. (eds) Reliability Engineering for Industrial Processes. Springer Series in Reliability Engineering. Springer, Cham. https://doi.org/10.1007/978-3-031-55048-5_20
Download citation
DOI: https://doi.org/10.1007/978-3-031-55048-5_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-55047-8
Online ISBN: 978-3-031-55048-5
eBook Packages: EngineeringEngineering (R0)