Download presentation
Presentation is loading. Please wait.
Published byChristiana Gaines Modified over 6 years ago
1
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
2
Software Reliability Trustworthiness or dependability.
Probability of the product working correctly over a given period of time. Not only depends on the number of errors but also on the exact location of the error. It is also depends on the execution profile. Observer dependant Cannot be determined absolutely.
3
What is Reliability? Reliability is a broad concept.
It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality. It is a user-oriented quality factor relating to system operation. Intuitively, if the users of a system rarely experience failure, the system is considered to be more reliable than one that fails more often. A system without faults is considered to be highly reliable. Constructing a correct system is a difficult task. Even an incorrect system may be considered to be reliable if the frequency of failure is “acceptable.” Key concepts in discussing reliability: Fault, Failure, Time
4
What is Reliability? Failure
A failure is said to occur if the observable outcome of a program execution is different from the expected outcome. Fault The cause of failure is called a fault. Example: A failure may be cause by a defective block of code. Time Time is a key concept in the formulation of reliability. If the time gap between two successive failures is short, we say that the system is less reliable. Two forms of time are considered. Execution time () Calendar time (t) What is Reliability?
5
Factors Influencing Software Reliability
A user’s perception of the reliability of a software depends upon two categories of information. The number of faults present in the software. The ways users operate the system. This is known as the operational profile. The fault count in a system is influenced by the following. Size and complexity of code Characteristics of the development process used Education, experience, and training of development personnel Operational environment
6
Applications of Software Reliability
Comparison of software engineering technologies What is the cost of adopting a technology? What is the return from the technology -- in terms of cost and quality? Measuring the progress of system testing Key question: How of testing has been done? The failure intensity measure tells us about the present quality of the system: high intensity means more tests are to be performed. Controlling the system in operation The amount of change to a software for maintenance affects its reliability. Thus the amount of change to be effected in one go is determined by how much reliability we are ready to potentially lose. Better insight into software development processes Quantification of quality gives us a better insight into the development processes. Applications of Software Reliability
7
Reliability metrics Probability of failure on demand (POFOD):
This is a measure of the likelihood that the system will fail when a service request is made POFOD = means 1 out of 1000 service requests result in failure Relevant for safety-critical or non-stop systems
8
Con.. Rate of fault occurrence (ROCOF)
Frequency of occurrence of unexpected behaviour ROCOF of 0.02 means 2 failures are likely in each 100 operational time units Relevant for operating systems, transaction processing systems
9
Con.. Mean time to failure
Measure of the time between observed failures MTTF of 500 means that the time between failures is 500 time units Relevant for systems with long transactions e.g. CAD systems
10
Con.. Availability Measure of how likely the system is available for use. Takes repair/restart time into account Availability of means software is available for 998 out of 1000 time units Relevant for continuously running systems e.g. telephone switching systems
11
Con.. Mean Time Between Failures(MTBF): Can combine MTTF and MTTR.
If MTBF indicates 300hours indicates that every failure occurs after 300hrs. Mean Time to Repair(MTTR): Once failure occurs, some time is required to fix the error. MTTR measures the average time to track the errors causing the failure and fix it.
12
Failure Classification
Transient - only occurs with certain inputs Permanent - occurs on all inputs Recoverable - system can recover without operator help Unrecoverable - operator has to help Non-corrupting - failure does not corrupt system state or data Corrupting - system state or data are altered
13
Reliability growth modelling
Growth model is a mathematical model of the system reliability change as it is tested and faults are removed Used as a means of reliability prediction by extrapolating from current data Depends on the use of statistical testing to measure the reliability of a system version
14
Equal-step reliability growth
15
Observed reliability growth
Simple equal-step model but does not reflect reality Reliability does not necessarily increase with change as the change can introduce new faults The rate of reliability growth tends to slow down with time as frequently occurring faults are discovered and removed from the software A random-growth model may be more accurate
16
Random-step reliability growth
17
Growth models choice Many different reliability growth models have been proposed No universally applicable growth model Reliability should be measured and observed data should be fitted to several models Best-fit model should be used for reliability prediction
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.