36
SENG521 (Fall 2002 ) [email protected] 1 SENG 521 SENG 521 Software Reliability & Software Reliability & Testing Testing Software Reliability Models Software Reliability Models (Part 2a) (Part 2a) Department of Electrical & Computer Engineering, University of Calgary B.H. Far [email protected] http://www.enel.ucalgary.ca/~far/Lectures/SENG521/02a/

SENG521 (Fall 2002)[email protected] SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

Embed Size (px)

Citation preview

Page 1: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 1

SENG 521SENG 521Software Reliability & Software Reliability & TestingTesting

Software Reliability ModelsSoftware Reliability Models

(Part 2a)(Part 2a)

Department of Electrical & Computer Engineering, University of Calgary

B.H. Far ( [email protected] )http://www.enel.ucalgary.ca/~far/Lectures/SENG521/02a/

Page 2: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 2

ContentsContents Basic Features of the Software Reliability ModelsBasic Features of the Software Reliability Models Single Failure ModelSingle Failure Model Reliability Growth ModelReliability Growth Model Exponential Failure Class ModelsExponential Failure Class Models Weibull and Gamma Failure Class ModelsWeibull and Gamma Failure Class Models Infinite Failure Category ModelsInfinite Failure Category Models Bayesian ModelsBayesian Models Early Life-Cycle Prediction ModelsEarly Life-Cycle Prediction Models

Page 3: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 3

Section 1Section 1

Basic Features

Page 4: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 4

GoalGoal It is important to be able to

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.

Page 5: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 5

Reliability ModelReliability Model

ReliabilityReliabilityModelModel

ReliabilityReliabilityModelModel

Fault introduction:

Characteristics of the product (e.g., program size)

Development process (e.g., SE tools and techniques, staff experiences, etc.)

Fault removal:

Failure discovery (e.g., extent of execution, operational profile)

Quality of repair activity

Environment

Page 6: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 6

Two Reliability QuestionsTwo Reliability Questions

Single failure specification: What is the probability of failure of a system

(or a component)?

Multiple failure specification: If a system (or a component) fails at time t1,

t2, …, ti-1, what is the probability of its failure at time ti?

Page 7: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 7

Model ClassificationModel Classification 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.

Page 8: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 8

Various Reliability Models Various Reliability Models /1/1 Exponential Failure Class ModelsExponential Failure Class Models

Jelinski-Moranda model (JM) Nonhomogeneous Poisson Process model

(NHPP) Schneidewind model Musa’s Basic Execution Time model (BET) Hyperexponential model (HE) Others

Page 9: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 9

Various Reliability Models Various Reliability Models /2/2 Weibull and Gamma Failure Class ModelsWeibull and Gamma Failure Class Models

Weibull model (WM) S-shaped Reliability Growth model (SRG)

Infinite Failure Category ModelsInfinite Failure Category Models Duane’s model Geometric model Musa-Okumoto Logarithmic Poisson model

Page 10: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 10

Various Reliability Models Various Reliability Models /3/3 Bayesian ModelsBayesian Models

Littlewood-Verrall Model

Early Life-Cycle Prediction ModelsEarly Life-Cycle Prediction Models Phase-based model

Page 11: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 13

Another Categorization /1Another Categorization /1 Time between failure modelsTime between failure models

Jelinski-Moranda (Exponential Failure Model) Musa-Basic (Exponential Failure ModelModel) NHPP (Exponential Failure ModelModel) Geometric (Infinite FailureInfinite Failure ModelModel) Musa-Okumoto (Infinite FailureInfinite Failure ModelModel) Littlewood-Verrall (Bayesian ModelBayesian Model)

Page 12: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 14

Another Categorization /2Another Categorization /2 Failure count modelsFailure count models

Generalized Poisson Shick-Wolverton Yamada S-shaped NHPP (Exponential Failure ModelModel) Schneidewind (Exponential Failure ModelModel)

Page 13: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 15

Section 2Section 2

Single Failure Model

Page 14: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 16

Hardware Reliability Hardware Reliability ModelsModels

Uniform model: Probability of failure is

fixed.

Exponential model: Probability of failure

changes exponentially over time

1

0

t Tf t

t T

f

t

T

0tf t e

f

t

T

0

Page 15: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 17

Single Failure Model /1Single Failure Model /1 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.

Exponential PDF:

0

0 0

te tf t

t

Page 16: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 18

Single Failure Model /2Single Failure Model /2 Cumulative Density

Function (CDF): depicting cumulative failures up to a given time t.

For exponential distribution, CDF is:

0

tF t f t

1 0

0 0

te tF t

t

Page 17: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 19

Single Failure Model /3Single Failure Model /3 Reliability function (R): depicting a component

functioning without failure until time t.

For exponential distribution, R is:

1R t F t

tR t e

Page 18: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 20

Single Failure Model /4Single Failure Model /4 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)

For exponential distribution, MTTF is:

0

E T t f t dt

1MTTF

Page 19: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 21

Single Failure Model /5Single Failure Model /5 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: λ

0

1 12 2

mt

mt f t dt or F t

f tz t

R t

Page 20: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 22

Single Failure Model /6Single Failure Model /6 System Reliability: is the multiplication of

the reliability of its components.

For exponential distribution:

1

n

system ii

R t R t

1 21 2

1

nn

n

ii

ttt tsystem

t

system

R t e e e e

R t e

Page 21: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 23

Single Failure Model /7Single Failure Model /7 System Cumulative Failure Rate: is the

sum of the failure rate of its components.

For exponential distribution:

1

n

system ii

z t z t

1 21

n

system n ii

z t

Page 22: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 24

Section 3Section 3

Reliability Growth Model

Page 23: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 25

Reliability Growth Reliability Growth Models Models /1/1

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).

Page 24: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 26

Reliability Growth Models Reliability Growth Models /2/2 Common software reliability growth models

are: Basic Exponential model Logarithmic Poisson model

The basic exponential model assumes finite failures (ν0) in infinite time.

The logarithmic Poisson model assumes infinite failures.

Page 25: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 27

Validity of the ModelsValidity of the Models 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.

RevisionPeriod 1

RevisionPeriod 4

Page 26: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 28

Reliability Growth Models Reliability Growth Models /3/3 Parameters involved in reliability growth

models:1) Failure intensity (λ): number of failures per

natural or time unit.

2) Execution time (τ): time since the program is running. Execution time may be different from calendar time.

3) Mean failures experienced (μ): mean failures experienced in a time interval.

Page 27: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 29

Reliability Growth Models Reliability Growth Models /4/4

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)n x p

0 0.10 0

1 0.18 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 (μ) 3.04

1

: probability of occurrence

: number of failures

n

ii

i

i p

p

i

Page 28: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 30

Reliability Growth Reliability Growth Models /5Models /5

Failure intensity (λ) versus execution time (τ)

0

0

0

0

0

(B)

(P)1

e

0

0

Initial failure intensity

Total failures

Decay parameter

Page 29: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 31

Reliability Growth Reliability Growth Models /6Models /6

Failure intensity (λ) versus mean failures experienced (μ)

00

0

1(B)

(P) e

Page 30: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 32

Reliability Growth Reliability Growth Models /7Models /7

Mean failures experienced (μ) versus execution time (τ)

0

0

0

0

1

1ln 1

(B)

(P)

e

Page 31: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 33

Reliability Growth Reliability Growth Models /8Models /8

Failure(s) in time period

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

Page 32: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 34

How to Use the Models?How to Use the Models? Release criteria: time

required to test the system to reach a target failure intensity:

0

0

( )

( )

ln

1 1 1

P

F

F P

B

P

: Present failure intensity

: Target failure intensityP

F

Page 33: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 35

Reliability MetricsReliability Metrics 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: MTTF for Windows 2000 Professional is 2893 hours or 72 forty-

hour 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

Page 34: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 36

Reliability Metrics:Reliability Metrics: AvailabilityAvailability

Software System Availability (A):

λ is failure intensity

tm is downtime per failure 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.

11

1 m m

A tA t or t

t t t A t

MTTF MTTFA

MTTF MTTR MTBF

Page 35: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 37

Reliability Metrics:Reliability Metrics: ReliabilityReliability

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.

ln 10.95

R t R tt or for R t

t t

Page 36: SENG521 (Fall 2002)far@enel.ucalgary.ca1 SENG 521 Software Reliability & Testing Software Reliability Models (Part 2a) Department of Electrical & Computer

SENG521 (Fall 2002) [email protected] 38