SENG 521 Software Reliability Testing Software Reliability Models
SENG 521 Software Reliability & Testing Software Reliability Models (Part 2 a) Department of Electrical & Computer Engineering, University of Calgary B. H. Far (far@enel. ucalgary. ca) http: //www. enel. ucalgary. ca/~far/Lectures/SENG 521/02 a/ SENG 521 (Fall 2002) far@enel. ucalgary. ca 1
Contents u u u u Basic Features of the Software Reliability Models Single Failure Model Reliability Growth Model Exponential Failure Class Models Weibull and Gamma Failure Class Models Infinite Failure Category Models Bayesian Models Early Life-Cycle Prediction Models SENG 521 (Fall 2002) far@enel. ucalgary. ca 2
Section 1 Basic Features SENG 521 (Fall 2002) far@enel. ucalgary. ca 3
Goal n It is important to be able to n n Predict probability of failure of a component or system Estimate the mean time to the next failure Predict number of (remaining) failures during the development. Such tasks are the target of the reliability management models. SENG 521 (Fall 2002) far@enel. ucalgary. ca 4
Reliability Model Fault introduction: Fault removal: Characteristics of the product (e. g. , program size) Failure discovery (e. g. , extent of execution, operational profile) Development process (e. g. , SE tools and techniques, staff experiences, etc. ) Reliability Model Quality of repair activity Environment SENG 521 (Fall 2002) far@enel. ucalgary. ca 5
Two Reliability Questions Single failure specification: n What is the probability of failure of a system (or a component)? Multiple failure specification: n If a system (or a component) fails at time t 1, t 2, …, ti-1, what is the probability of its failure at time ti? SENG 521 (Fall 2002) far@enel. ucalgary. ca 6
Model Classification n n Time domain: Calendar or execution time Category: Number of failures is finite or infinite. Type: Distribution of the number of failures experienced by the time specified. Class (only finite category): Functional form of the failure intensity over time. Family (only infinite category): Functional form of the failure intensity in terms of the expected number of failures experienced. SENG 521 (Fall 2002) far@enel. ucalgary. ca 7
Various Reliability Models /1 n Exponential Failure Class Models n n n Jelinski-Moranda model (JM) Nonhomogeneous Poisson Process model (NHPP) Schneidewind model Musa’s Basic Execution Time model (BET) Hyperexponential model (HE) Others SENG 521 (Fall 2002) far@enel. ucalgary. ca 8
Various Reliability Models /2 n Weibull and Gamma Failure Class Models n n n Weibull model (WM) S-shaped Reliability Growth model (SRG) Infinite Failure Category Models n n n Duane’s model Geometric model Musa-Okumoto Logarithmic Poisson model SENG 521 (Fall 2002) far@enel. ucalgary. ca 9
Various Reliability Models /3 n Bayesian Models n n Littlewood-Verrall Model Early Life-Cycle Prediction Models n Phase-based model SENG 521 (Fall 2002) far@enel. ucalgary. ca 10
Another Categorization /1 n Time between failure models n n n Jelinski-Moranda (Exponential Failure Model) Musa-Basic (Exponential Failure Model) Model NHPP (Exponential Failure Model) Model Geometric (Infinite Failure Model) Model Musa-Okumoto (Infinite Failure Model) Model Littlewood-Verrall (Bayesian Model) Model SENG 521 (Fall 2002) far@enel. ucalgary. ca 13
Another Categorization /2 n Failure count models n n n Generalized Poisson Shick-Wolverton Yamada S-shaped NHPP (Exponential Failure Model) Model Schneidewind (Exponential Failure Model) Model SENG 521 (Fall 2002) far@enel. ucalgary. ca 14
Section 2 Single Failure Model SENG 521 (Fall 2002) far@enel. ucalgary. ca 15
Hardware Reliability Models n f Uniform model: n Probability of failure is fixed. t T n Exponential model: n f Probability of failure changes exponentially over time t T SENG 521 (Fall 2002) far@enel. ucalgary. ca 16
Single Failure Model /1 n n n Probability Density Function (PDF): depicting changes of the probability of failure up to a given time t. A common form of PDF is exponential distribution Usually we want to know how long a component will behave correctly before it fails, i. e. , the probability of failure from time 0 up to a given time t. SENG 521 (Fall 2002) far@enel. ucalgary. ca 17
Single Failure Model /2 n n Cumulative Density Function (CDF): depicting cumulative failures up to a given time t. For exponential distribution, CDF is: SENG 521 (Fall 2002) far@enel. ucalgary. ca 18
Single Failure Model /3 n n Reliability function (R): depicting a component functioning without failure until time t. For exponential distribution, R is: SENG 521 (Fall 2002) far@enel. ucalgary. ca 19
Single Failure Model /4 n What is the expected value of failure time T? It is the mean of the probability density function (PDF), named mean time to failure (MTTF) n For exponential distribution, MTTF is: n SENG 521 (Fall 2002) far@enel. ucalgary. ca 20
Single Failure Model /5 n n Median time to failure (tm): a point in time that the probability of failure before and after tm are equal. Failure Rate z(t): Probability density function divided by reliability function. For exponential distribution, z(t) is: λ SENG 521 (Fall 2002) far@enel. ucalgary. ca 21
Single Failure Model /6 n n System Reliability: is the multiplication of the reliability of its components. For exponential distribution: SENG 521 (Fall 2002) far@enel. ucalgary. ca 22
Single Failure Model /7 n n System Cumulative Failure Rate: is the sum of the failure rate of its components. For exponential distribution: SENG 521 (Fall 2002) far@enel. ucalgary. ca 23
Section 3 Reliability Growth Model SENG 521 (Fall 2002) far@enel. ucalgary. ca 24
Reliability Growth Models /1 n n One can assume that the probability of failure (probability density function, PDF) for all failures are the same (e. g. , replacing the faulty hardware component with an identical one). In software, however, we want to “fix” the problem, i. e. , have a lower probability of failure after a repair (or longer Δti = ti-ti-1). Therefore, we need a model for reliability growth (i. e. , reliability change over time). SENG 521 (Fall 2002) far@enel. ucalgary. ca 25
Reliability Growth Models /2 n Common software reliability growth models are: n n Basic Exponential model Logarithmic Poisson model The basic exponential model assumes finite failures (ν 0) in infinite time. The logarithmic Poisson model assumes infinite failures. SENG 521 (Fall 2002) far@enel. ucalgary. ca 26
Validity of the Models n n Software systems are changed (updated) many times during their life cycle. The models are good for one revision period rather than the whole life cycle. Revision Period 1 Revision Period 4 SENG 521 (Fall 2002) far@enel. ucalgary. ca 27
Reliability Growth Models /3 n Parameters involved in reliability growth models: 1) 2) 3) Failure intensity (λ): number of failures per natural or time unit. Execution time (τ): time since the program is running. Execution time may be different from calendar time. Mean failures experienced (μ): mean failures experienced in a time interval. SENG 521 (Fall 2002) far@enel. ucalgary. ca 28
Reliability Growth Models /4 n Mean failures experienced (μ) for a given time period (e. g. , 1 hour execution time) is calculated as: No. of failures in interval (n) Probability (p) nxp 0 0. 10 0 1 0. 18 2 0. 22 0. 44 3 0. 16 0. 48 4 0. 11 0. 44 5 0. 08 0. 40 6 0. 05 0. 30 7 0. 04 0. 28 8 0. 03 0. 24 9 0. 02 0. 18 10 0. 01 0. 10 Mean failure (μ) SENG 521 (Fall 2002) far@enel. ucalgary. ca 3. 04 29
Reliability Growth Models /5 n Failure intensity (λ) versus execution time (τ) SENG 521 (Fall 2002) far@enel. ucalgary. ca 30
Reliability Growth Models /6 n Failure intensity (λ) versus mean failures experienced (μ) SENG 521 (Fall 2002) far@enel. ucalgary. ca 31
Reliability Growth Models /7 n Mean failures experienced (μ) versus execution time (τ) SENG 521 (Fall 2002) far@enel. ucalgary. ca 32
Reliability Growth Models /8 Failure(s) in time period SENG 521 (Fall 2002) far@enel. ucalgary. ca Probability Elapsed time (1 hour) Elapsed time (5 hours) 0 0. 10 0. 01 1 0. 18 0. 02 2 0. 22 0. 03 3 0. 16 0. 04 4 0. 11 0. 05 5 0. 08 0. 07 6 0. 05 0. 09 7 0. 04 0. 12 8 0. 03 0. 16 9 0. 02 0. 13 10 0. 01 0. 10 11 0 0. 07 12 0 0. 05 13 0 0. 03 14 0 0. 02 15 0 0. 01 Mean 3. 04 7. 77 33
How to Use the Models? n Release criteria: time required to test the system to reach a target failure intensity: SENG 521 (Fall 2002) far@enel. ucalgary. ca 34
Reliability Metrics n n Mean time to failure (MTTF): Usually calculated by dividing the total operating time of the units tested by the total number of failures encountered (assuming that the failure rate is constant). Example: n n n MTTF for Windows 2000 Professional is 2893 hours or 72 fortyhour workweeks. MTTF for Windows NT Workstation is 919 hours or 23 workweeks. MTTF for Windows 98 is 216 hours or 5 workweeks. Mean time to repair (MTTR): mean time to repair a (software) component. Mean time between failures (MTBF): MTBF = MTTF + MTTR SENG 521 (Fall 2002) far@enel. ucalgary. ca 35
Reliability Metrics: Availability n Software System Availability (A): λ is failure intensity tm is downtime per failure n n Another definition of availability: Example: If a product must be available 99% of time and downtime is 6 min, then λ is about 0. 1 failure per hour (1 failure per 10 hours) and MTTF=594 min. SENG 521 (Fall 2002) far@enel. ucalgary. ca 36
Reliability Metrics: Reliability n n Software System Reliability (R): λ is failure intensity R is reliability t is natural unit (time, etc. ) Example: for λ=0. 001 or 1 failure for 1000 hours, reliability (R) is around 0. 992 for 8 hours of operation. SENG 521 (Fall 2002) far@enel. ucalgary. ca 37
SENG 521 (Fall 2002) far@enel. ucalgary. ca 38
- Slides: 36