You are on page 1of 3

SOFTWARE ENGINEERING TECHNIQUES

LESSON 17:

Topics Covered Basic Model


Execution – time component model, Basic model, derived The failure intensity for the basic model as a function of failures
quantities, Logarithmic Poisson model, Calendar time experienced is
component λ (µ) = λ0 [1 − µ/ν0 ]
Objectives The quantity (0 is the initial failure intensity at the start of
Upon completion of this Lesson, you should be able to: execution. Note that λ is the average of expected number of
• Know what is execution time component model failures experienced at a given point in time. The quantity v0 is
• Know what is a basic model and derived quantities the total number of failures that would occur in infinite time.
• Know what is Logarithmic Poisson model Example 6.1
• Know what is calendar time component Assume that a program will experience 100 failures in infinite
time. It has now experienced 50. The initial failure intensity
Execution – Time Component of Model was 10-failures/CPU hr. Determine the value of the current
The execution-time component is based on the following failure intensity.
assumptions (MUSA70):
Solution
• Tests represent the environment in which the program will
used. λ (µ) = λ0 [1 − µ 0 /ν0 ] = 10 [1−50/100] = 5
• All failures are observed. 5 failures/CPU hr. The slope of failure intensity, dl/dm is
• Failure intervals are s-independent of each other. given by
• The execution times between failures are piece-wise dλ/dµ = -λ0 /v 0 6.2.
exponentially distributed (hazard rate is a constant that
- - - - - -
changes at each fault correction).
Example 6.2
• The failure (hazard) rate is proportional to the s-expected
In example 6.1 the decrement of failure intensity per failure is to
value of the number of faults remaining.
be determined.
• The fault-correction occurrence rate is proportional to the
failure-occurrence rate (both rates are with respect to Solution
execution time). dλ/d µ = -λ0 /v 0
The two models have failure intensity functions that differ as = -10/100 = -0.1/CPU hr.
functions of execution time. However, the difference between - - - - - -
them is best defined in terms of slope or decrement per failure
experienced (fig 6.6). The execution times model whether it is We can obtain some interesting relationships with some
the first failure that is being fixed or the last. By contrast, for straight forward derivations. The expected number of failures
the logarithmic Poisson execution time model, the decrement experienced as a function of execution time is illustrated in fig.
per failure becomes smaller with failures experienced. In fact, it 6.7.
decreases exponentially. The first failure initiates a repair process
that yields a substantial decrement in failure intensity, while later
failures result in much small decrements.

© Copy Right: Rai University


3E.253 63
Let execution time be denoted by t. we can then expect that if The quantity ∆µ is the expected number of failures to reach the
SOFTWARE ENGINEERING TECHNIQUES

v0 is finite then l(t) is given by equation 6.3.. failure intensity objective, λp is the present failure intensity, and
λf is the failure intensity objective.
µ(τ) = νο [1- exp(-λοτ/ νο )]
Example 6.3 Logarithmic Poisson Model
Let’s again consider a program with an initial failure intensity of The failure intensity for the Logarithmic Poisson model is
10 failure/CPU hr and 100 total failures. Calculate the failures λ(µ) = λ0 exp (-θµ)
experienced after 10 and 100 CPU hr of execution. The quantity θ is called the failure intensity decay parameter.
Solution Suppose we plot the natural logarithmic of failure intensity
For 10 CPU hr, against mean failures experienced. Then we can see by trans-
forming the above equation that the failure intensity decay
µ(τ) = νο [1-exp(λοτ⁄νο)] parameter S is the magnitude of the slope of the line we have
= 100[1-exp(-10*10/100)] = 63 failures plotted. It represents the relative change of failure intensity per
failure experienced..
For 100 CPU hr, we have
Example
= 100[1-exp(-10)]
Assume that the initial failure intensity is again 10-failures/CPU
= 100(1-0.0000454) = 100 failures (almost). hr. The failure intensity decay parameter is 0.02/failure. We
- - - - - assume that 50 failures have been experienced. The current
The failure intensity as a function of execution time is show in intensity is to be determined.
figure 6.8. The relationship is useful for determining the Solution
present failure intensity at any given value of execution time.
λ(µ) = λ0 exp (-θµ)= 10 exp[(-0.02)(50)] = 3.68 failures/CPU hr.
The slope of failure intensity in this case is:
d λ/d µ = λ0θ exp(-θµ) = -θλ
Example
In previous example, the decrement of failure intensity per
failure is to be determined.
d λ/d µ = λo θ exp(-θµ) = -θλ
=-10(0.02) exp (-0.02µ) = -0.2 exp (0.02µ)/CPU hr.
When no failures have been experienced, we have a decrement
of -0.2/ CPU hr, which is greater than that for the basic model.
After 50 failures have been experienced, the decrease is only -
0.0736/CPU hr. Note the decrease to an amount smaller than
the corresponding amount for the basic model. The relative
change in failure intensity per failure experienced is constant at
0.02.
In other words, the failure intensity at a given number of
We have for this model, failures experienced is 0.98 of that at the proceeding failure.
λ(τ) = λ0 exp(-λ0 τ/v0) Whether the curve for logarithmic Poisson model crosses that
for the basic model depends on its parameter values. Note that
Derived Quantities
the expected number of failures for the logarithmic Poisson
Assume that we have chosen a failure intensity objective for the
model is always infinite at infinite time. This number can be
software product being developed. Suppose some portions of
and usually is finite for the basic model during test, although it
the failures are being removed through correction of their
is usually infinite during the operational phase. The curve for
associated faults. Then one can use the objective and the present
the former model is logarithmic, hence the name. The curve for
value of failure intensity to detainee the additional expected
the latter is negative exponential, approaching a limit. Infinite
number of failures that must be experienced to reach that
failures can occur for the logarithmic Poisson model. F or this
objective. The process is illustrated graphically in figure 6.9.
model, the relation for the number of failures is given by:
Equations. Describing the relationship in closed from may be
derived so that manual calculations can be performed. They are µ (t) = [ In(λo θ t + 1 )]/ θ

∆µ = (vo / λ0 ) (λp - λf) Calendar Time Component


The calendar time component relates execution time and
calendar time by determining the calendar time to execution
time ration at any given point in time. The ratio is based on the
constraints that are involved in applying resources to projects.

© Copy Right: Rai University


64 3E.253
To obtain calendar time, one integrates this ratio with respect to

SOFTWARE ENGINEERING TECHNIQUES


execution time. The calendar time component is of greatest
significance during phases where the software is being tested
and repaired. During this period one can predict the dates at
which various failure intensity objectives will be met. The
calendar time component exists during periods in which repair
is not occurring and failure intensity is constant. However, it
reduces in that case to a constant ration between calendar time
and execution time.
In test, the rate of testing at any time is constrained by the
failure identification or test team personnel, the failure correc-
tion or debugging personnel, or the computer time available.
The quantities of these resources available to a project are
usually more or less established in its early stages. Increases are
generally not feasible during the system test phase because of
the long lead times required for training and computer procure-
ment. At any given value of execution time, one of these
resources will be limiting. The limiting resource will determine
the rate at which execution time can be spent per unit calendar
time. A test phase may consist of from one to three periods;
each characterized by a different limiting resource will determine
the rate at which execution can be spent per unit calendar time.
A test phase may consist of from one to three periods, each
characterized by a different limiting resources.
The following is a common scenario. At the start of testing
one identifies a large number of failures separated by short time
intervals. Testing must be stopped from time to time to let the
people who are fixing the faults keep up with the load. As
testing progresses, the intervals between failures become longer
and longer. The time of the failure correction personnel is no
longer completely filled with failure correction work. The test
team becomes the bottleneck. The effort required to run tests
and analyze the results is occupying all their time. That paces
the amount of testing done each day. Finally, at even longer
intervals, the capacity of the computing facilities becomes
limiting. This resource then determines how much testing is
accomplished.
The calendar time component is based on a debugging process
model. This model takes into account.
1. Resource used in operating the program for a given
execution time and processing an associated quantity of
failures.
2. Resource quantities available, and
3. The degree to which a resource can be utilized (due to
bottlenecks) during the period in which it is limiting:
Notes

© Copy Right: Rai University


3E.253 65

You might also like