Presentation for Ph.D.
SOFTWARE RELIABILITY
by
SK.Shakeer Basha
Rayalaseema University Kurnool
Research Director
Proff Dr.R.Satya Prasad
Acharya Nagarjuna University Guntur
Software Reliability
An Important Attribute of a Computer System is the
degree to which it can relied upon to perform its intended
functions.
Def:
The probability that software will not cause the failure of a
system for a specified time under specified conditions.
software reliability engineering (SRE): The application of
statistical techniques to data collected during system
development and operation to specify, estimate, or assess the
reliability of software-based systems.
software reliability estimation: The application of
statistical techniques to observed failure data collected during
system testing and operation to assess the reliability of the
software.
software reliability model: A mathematical expression that
specifies the general form of the software failure process as a
function of factors such as fault introduction, fault removal,
and the operational environment.
software reliability prediction: A forecast or assessment
of the reliability of the software based on parameters
associated with the software product and its development
environment.
Software reliability modeling
• A reliability prediction should have sufficient
information concerning inputs, assumptions,
and uncertainty, such that the risk associated
with using the prediction results would be
understood.
An SR model specifies the general form of the
dependence of the failure process on the
principal factors that affect it:
▫ fault introduction
▫ fault removal, and
▫ operational environment.
The failure rate (failures per unit time) of a software
system is generally decreasing due to fault
identification and removal.
• At a particular time, it is possible to observe a
history of the failure rate of the software.
• SR modeling is done to estimate the form of the
curve of the failure rate by statistically estimating
the parameters associated with the selected model.
• The purpose of this measure is twofold:
▫ 1) to estimate the extra execution time during test required to meet a
specified reliability objective and
▫ 2) to identify the expected reliability of the software when the
product is released.
• SR models can both assess and predict reliability.
▫ The former deals with measuring past and current reliabilities.
▫ The latter provides forecasts of future reliability.
• Both assessment and prediction need good data if they
are to yield good forecasts. Good data implies
▫ accuracy (that data is accurately recorded at the time the events
occurred) and
▫ pertinence (that data relates to an environment that is equivalent
to the environment for which the forecast is to be valid).
Prediction model
• The premise of most prediction models is that
the failure rate is a direct function of the number
of faults in the program and that the failure rate
will be reduced (reliability will be increased) as faults
are detected and eliminated during test or
operations.
• There are the following three general classes of
SR prediction models:
▫ exponential non-homogeneous Poisson process
(NHPP) models,
▫ non-exponential NHPP models, and
▫ Bayesian models.
Software reliability assessment and
prediction procedure
• a) Identify application
• b) Specify the requirement
• c) Allocate the requirement
• d) Make a reliability risk assessment
• e) Define errors, faults, and failures
• f) Characterize the operational environment
• g) Select tests Three common methods of
• h) Select models parameter estimation exist:
• i) Collect data •method of moments,
• j) Estimate parameters •least squares, and
•maximum likelihood.
• k) Validate the model
• l) Perform assessment and prediction analysis
• m) Forecast additional test duration
Software reliability estimation models
• There are many ways to develop an SR model:
• a) describe it as a stochastic process;
• b) relate it to a Markov model;
• c) define the probability density or distribution
function; or
• d) specify the hazard function.
REFERENCES
•Balakrishnan, N. and Cohen, A.C., (1991). “Order statistics and inference: estimation
methods”, Academic Press.
•Krishna Mohan. G and Satya Prasad. R. “Detection of Reliable Software using SPRT on Time
Domain data”, International Journal of Computer Science, Engineering and Applications
(IJCSEA) Vol. 1, No. 4, August 2011, pp[92-99].
•Krishna Mohan. G, Satya Prasad. R and Prof. Kantam. R.R.L. “Software Reliability Using
SPC and Weibull Order Statistics”, International Journal of Engineering Research and
Applications (IJERA). Vol 1. Issue 4. pp[1486-1493], Nov-Dec, 2011.
•Lyu. M.R., (1996). “Handbook of software reliability engineering”, Data Dictionary IEEE
Computer Society and MCGraw-Hill, New York.
•Pham. H., (2006). “System software reliability”, Springer.
•Reckase, M. D. (1983). “A procedure for decision making using tailored testing”, In D. J. Weiss
(Ed.), New horizons in testing: Latent trait theory and computerized adaptive testing (pp. 237-
254). New York: Academic Press.
•Satyaprasad, R. (2007). “Half Logistic Software Reliability Growth Model”, Ph.D Thesis,
Acharya Nagarjuna University, India.
•Srinivasa Rao. B, Satya Prasad. R and R. R. L. Kantham., (2011). “Monitoring Software
Reliability using Statistical Process Control An Ordered Statistics Approach”, International
Journal of Computer Applications 32(7):28-33.
•Wald. A., (1945). “Sequential tests of statistical hypotheses”. Annals of Mathematical
Statistics, 16:117–186.
•Wald. A., (1947). “Sequential Analysis”, John Wiley and Son, Inc, New York.
•Weibull, W. (1951). “A Statistical distribution function of wide Applicability”, Journal of Applied
Mechanics, 18, 293-297.
Thank you…