Software Reliability Simulation: Process, Approaches and Methodology by Javaid Iqbal, Dr
Total Page:16
File Type:pdf, Size:1020Kb
Global Journal of Computer Science and Technology Volume 11 Issue 8 Version 1.0 May 2011 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Inc. (USA) ISSN: 0975-4172 & Print ISSN: 0975-4350 Software Reliability Simulation: Process, Approaches and Methodology By Javaid Iqbal, Dr. S.M.K. Quadri University of Kashmir Abstract- Reliability is probably the most crucial factor to put ones hand up for in any engineering process. Quantitatively, reliability gives a measure (quantity) of quality, and the quantity can be properly engineered using appropriate reliability engineering process. Software Reliability Modeling has been one of the much-attracted research domains in Software Reliability Engineering, to estimate the current state as well as predict the future state of the software system reliability. This paper aims to raise awareness about the usefulness and importance of simulation in support of software reliability modeling and engineering. Simulation can be applied in many critical and touchy areas and enables one to address issues before they these issues become problems. This paper brings to fore some key concepts in simulation-based software reliability modeling. This paper suggests that the software engineering community could exploit simulation to much greater advantage which include cutting down on software development costs, improving reliability, narrowing down the gestation period of software development, fore-seeing the software development process and the software product itself and so on. Keywords: Software Reliability ngineering, Software Reliability, Modeling, Simulation, Simulation model. GJCST Classification: C.4, D.2.4 Software Reliability Simulation Process, Approaches and Methodology Strictly as per the compliance and regulations of: © 2011 Javaid Iqbal, Dr. S.M.K. Quadri. This is a research/review paper, distributed under the terms of the Creative Commons Attribution-Noncommercial 3.0 Unported License http://creativecommons.org/licenses/by-nc/3.0/), permitting all non-commercial use, distribution, and reproduction inany medium, provided the original work is properly cited. Software Reliability Simulation: Process, Approaches and Methodology 2011 May Javaid Iqbalα, Dr. S.M.K. QuadriΩ Abstract- Reliability is probably the most crucial factor to put software system is known by how long the software ones hand up for in any engineering process. Quantitatively, system will render faithful service. As a result of spiraling 33 reliability gives a measure (quantity) of quality, and the increase in the complexity of software systems, quantity can be properly engineered using appropriate performance analysis of the software systems has reliability engineering process. Software Reliability Modeling gained further attention. Much focus has gone to the has been one of the much-attracted research domains in Software Reliability Engineering, to estimate the current state structural side of software systems as well. In general, as well as predict the future state of the software system the various components of a software system must reliability. remain expectedly faithful vis-à-vis their intended This paper aims to raise awareness about the usefulness and functions and deliverables. Software reliability has been importance of simulation in support of software reliability dominating the thought-process ever since the size and modeling and engineering. Simulation can be applied in many hence complexities of software systems have increased. critical and touchy areas and enables one to address issues As fallout of increased size and complexity of software before they these issues become problems. This paper brings systems, factors contributing to the unreliability of the to fore some key concepts in simulation-based software system become more pronounced. However, even reliability modeling. This paper suggests that the software engineering community could exploit simulation to much though some level of unreliability does exist for a greater advantage which include cutting down on software software system, it is worthwhile to express the quality development costs, improving reliability, narrowing down the of the software system by measuring some objective gestation period of software development, fore-seeing the attributes such as reliability and availability. Software software development process and the software product itself reliability characterizing the dynamic quality attribute of and so on. a software system can measure and predict the Keywords- Software Reliability Engineering, Software operational/usage profile of the software system. Reliability, Modeling, Simulation, Simulation model. II. SOF TWARE RELIABILITY AND I. INTRODUCTION SOFTWARE RELIABILITY ENGINEERING wing to the unexpectedly spiraling increase in the size and complexity of software systems Software Reliability is defined as the probability O during the past few decades, software reliability that software will provide failure-free operation in a fixed has become even more increasingly important for such environment for a fixed interval of time [17]. In fact, massive systems. As a result of the compound growth software reliability is the key attribute in software rate of the order of ten times every five years in the size reliability engineering which stands out among other and complexity of software systems deployed in the key attributes of software quality such as functionality, areas of telecommunications, defense, transportation usability, capability, maintainability, and, etc., for its industries, business etc, software system reliability is the relevance to quantifying software failures. Software prime factor to check out for. In such systems, a reliability quantifies software failures in a software software failure can lead to serious, even fatal, system. By definition Reliability is probabilistic and consequences and repercussions in safety-critical and hence hard to quantify accurately. Global Journal of Computer Science and Technology Volume XI Issue VIII Version I mission-critical systems as well as in normal business. Software Reliability Modeling has been an Software system reliability stands out as the key active research domain for fault/failure forecasting, in benchmark attribute for a software system among its software reliability engineering, for estimation as well as various attributes. The levels of service dependability of prediction of the current and future states, respectively, a software system during its life-time are the indications of the reliability of a software system. A software for its reliability. In fact, the performance criterion of a reliability model represents the behavior of software failures with respect to time as a random process. α About - Assistant Professor in the P.G Department of computer Reliability modeling as an essential element of the Science, University of Kashmir- North Campus (India). (Telephone: (91)9596032499 email: [email protected] ) reliability estimation process determines whether a About Ω- Head P.G Department of computer Science, University of software system meets the specified levels of reliability Kashmir–Hazratbal Campus(India). (Telephone: and thus can be used to decide about the release time (91)9419426555 email: [email protected]) ©2011 Global Journals Inc. (US) Software Reliability Simulation: Process Approaches and Methodology of a software system. Software Reliability Engineering comprehensive, complete, or consistent. Such data sets (SRE) encompasses certain engineering techniques for are very rarely collected owing to different factors. the development and maintenance of software systems However, simulation-based approaches do hold 2011 with an objective of measuring and predicting reliability promise for such scenarios as well. (quality) as a quantity. The estimation as well as the May prediction of reliability of a software system, involves the III. SIMULATION use of failure data represented as failure process a) General Description through its reliability model. Probabilistic approach, Simulation is experimentation with models. being most common approach to developing software More specifically, simulation is the technique of imitating 34 reliability models, represents the failure occurrences the character of an object or process in such a way that and the fault removals as probabilistic events. enables us to make quantifiable inferences about the Probabilistic software reliability models are classified real object or process being simulated [25],[26]. When into various classes, including error seeding models, simulation is applied to software reliability, it can be failure rate models, curve fitting models, reliability used to mimic key characteristics of the various growth models, Markov structure models, and non- processes involved. To study a system, it is possible to homogeneous Poisson process (NHPP) models .The experiment with the system itself or with the model of three main reliability modeling approaches are: the error the system; experimenting with the system itself may be seeding and tagging approach, the data domain not be viable and feasible always, depending on the approach, and the time domain approach. Among nature and type of system to be studied. Cost and risk these the time domain approach has gained much analysis may not permit it. The objective, however, is to acceptance where techniques like curve-fitting and comprehend and predict how a system will perform extrapolation are used. However, SRE techniques