Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software reliability


Published on

Software reliability

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Software reliability

  1. 1. Unit IV
  2. 2.  As per IEEE: “Software Reliability is defined as the ability of a system or component to perform its required functions under stated condition for a specified amount of time.”  Thus, Reliability of a software product denotes its  Trustworthiness, and  Dependability.
  3. 3.  The most acceptable definition of Software Reliability is: “It is the probability of a failure free operation of a program for a specified time in a specified environment.”  For example, a time sharing system may have a reliability of 0.95 for 10 hr when employed by the average user.  This system, when executed for 10 hr, would operate without failure for 95 times out of 100.
  4. 4.  An important feature that sets hardware and software reliability issues apart is the difference between their failure patterns.  Hardware components fail due to very different reasons as compared to software components.  Hardware components fail mostly due to wear and tear, whereas software components fail due to bugs.
  5. 5. Burn-in phase Useful life phase Time Failure Intensity Wear-out phase a) Hardware Product Time Failure Intensity Product Release Testing Retirement Useful Life Obsolete b) Software Product Change in Failure Rate of a Product
  6. 6.  Software may be retired only if becomes obsolete.  Some of the factors are:  Change in environment  Change in infrastructure/ technology  Major change in requirements  Increase in complexity  Extremely difficult to maintain  Deterioration in the structure of the code  Slow execution speed  Poor graphical user interfaces.
  7. 7.  The reliability requirements for different categories of software may be different.  Therefore, we need some metrics to quantitatively express the reliability of a software product.  A good reliability measure should be observer- independent, so that different people can agree to the reliability of a system.  We have six metrics that correlate with reliability. They are as follows:
  8. 8.  Rate of Occurrence of Failure (ROCOF):  Measures the frequency of occurrence of failures.  It can be obtained by observing the behaviour of a s/w product in operation over a specified time interval, and then calculating total number of failures during this interval.  MeanTime to Failure (MTTF):  It is the average time between two successive failures. Σ ti+1- ti/ n-1  Where ‘n’ is the number of failures, and ‘t’ is the time distance at which failure occurs. i=1 n
  9. 9.  MeanTime to Repair (MTTR):  Once the failure occurs, some time is required to fix the error.  MTTR measures the average time it takes to track the error causing the failure and then to fix it.  MeanTime Between Failure (MTBF):  We can combine the MTTF and MTTR to get MTBF.  MTBF= MTTF + MTTR
  10. 10.  Availability of the System:  Is a measure of how likely will the system be available for use over a given period of time.  This metric not only considers the number of failures occurring during a time interval but also considers the repair time of a system when a failure occurs.  Availability= (MTTF/ MTBF) * 100
  11. 11.  What is the availability of a software with the following reliability figures: MTBF= 25 days MTTR= 6 hours a) 1% b) 24% c) 99% d) 99.009%
  12. 12.  The availability of a complex software is 90%. Its MTBF is 200 days. Because of its critical nature, the organization developing the software, further enhanced it to obtain an availability of 95%. In the process, the MTTR was increased by 5 days. What is the MTBF of the enhanced software? a) 205 days b) 300 days c) 500 days d) 700 days