Professional Documents
Culture Documents
Reliability
Reliability
• The most important dynamic characteristic
of software is its reliability.
• The reliability of a software system is a
measure of how well it provides the
services expected by its users.
RELIABILITY ISSUES
Some of the contributing factors are given
below:
• Change in environment
• Change in infrastructure/technology
• Major change in requirements
• Increase in complexity
• Extremely difficult to maintain
RELIABILITY METRICS
• Reliability metrics are used to
quantitatively express the reliability of a
software product.
• Some reliability metrics, which can be
used to quantify the reliability of a software
product are:
MTTF (Mean Time to Failure). The MTTF is the
mean time for which a component is expected to
be operational.
• The MTTF is the average time between observed
system failures. An MTTF of 500 means that one
failure can be expected every 500 time units.
• The time units are totally dependent on the
system and it can even be specified in the
number of transactions, as is the case of
database query systems.
MTTR (Mean Time to Repair) Once a
hardware component fails then the failure
is usually permanent
• so the Mean Time to Repair (MTTR)
reflects the time taken to repair or replace
the component.
MTBF (Mean Time Between Failures).
• We can combine the MTTF and MTTR
metrics to get the MTBF metric:
MTBF=MTTF+MTTR
• Thus, a MTBF of 300 hours indicates that
once a failure occurs, the next failure is
expected to occur only after 300 hours.
ROCOF (Rate of Occurrences of Failure).
• ROCOF is the frequency of occurrence
with which unexpected behavior is likely to
occur.
• A ROCOF of 2/100 means that two
failures are likely to occur in each 100
operational time units
• Ex: It is relevant for operating systems
and transaction-processing systems
• where the system has to process a large
number of similar requests that are
relatively frequent; for example, credit-card
processing systems, airline- booking
systems, etc.
• AVAIL (Availability). Availability is the
probability that the system is available for
use at a given time.
• An availability of 0.998 means that in
every 1000 time units, the system is likely
to be available for 998 of these.
RELIABILITY GROWTH
MODELING
• A reliability growth model is a
mathematical model of how software
reliability improves as errors are detected
and repaired
Step Function Model
• The simplest reliability growth model is a
step function model, where it is assumed
that the reliability increases by a constant
increment each time an error is detected
and repaired.
Jelinski and Moranda Model
• In this model, it is realized that reliability
does not increase by a constant amount
each time an error is repaired.
• The improvement in reliability due to fixing
of an error is assumed to be proportional
to the number of errors remaining in the
system at that time.
Definitions
• According to ANSI, “ Software Reliability is defined as the probability of failure – free
software operation for a specified period of time in a specified environment”.
Useful life
obsolete
Burn In
Useful Life
Wear Out
FAILURE
• Testing phase
Software Metrics For Reliability
• Complexity
• Size
Testing Reliability Metrics
• First approach is “ensuring that the system is fully equipped with the
functions that are specified in the requirements”.
• Second approach is “Evaluating the code, Finding the errors and fixing
them”.
Conclusion
• Software Reliability is the probability that the software will work without
failure for a specified period of time