Information Technology Reference
In-Depth Information
TABLE 14.3 Difference between Software Reliability (A) Trending models and (B)
Predictive models 10
Factor
Trending Models
Predictive Models
Data Source
Uses data from the current
software development effort
Uses historical data
Development Cycle
Usage
Usually made later in life
cycle(after some data have
been collected); not typically
used in concept or
development phases
Usually made prior to
development or test phases;
can be used as early as
concept phase
Time Frame
Estimate reliability at either
present or some future time
Predict reliability at some future
time
14.2.2
Software Reliability Modeling Techniques
Because software reliability is one of the most important aspects of software quality,
reliability engineering approaches are practiced in the software field as well, and
software reliability engineering is the quantitative study of the operational behavior
of software-based systems with respect to user requirements concerning reliability.
A proliferation of software reliability models have emerged as people try to under-
stand the characteristics of how and why software fails and try to quantify software
reliability. Hundreds of models have been developed since the early 1970s, but how
to quantify software reliability still remains largely unsolved. Interested readers may
refer to Dugan and Lyu (1995). Although there are many models, and many more are
emerging, none of the models can capture a satisfying amount of the complexity of
software; constraints and assumptions have to be made for the quantifying process.
Therefore, there is no single model that can be used in all situations. No model is com-
plete or even representative. One model may work well for a set of certain software
but may be completely off track for other kinds of problems. Most software models
contain the following parts: assumptions, factors, and a mathematical function that
relates the reliability with the factors. The mathematical function is usually higher
order exponential or logarithmic.
There are two major categories of reliability modeling techniques: 1) trending
techniques and 2) predictive techniques. In practice, reliability trending is more
appropriate for software, whereas predictive reliability is more suitable for hardware.
Both kinds of modeling techniques are based on observing and accumulating failure
data and analyzing with statistical inference. The major differences of the two models
are shown in Table 14.3.
A. Trending reliability models track the failure data produced by the software
system to develop a reliability operational profile of the system during a
10 See Jiantao Pan at http://www.ece.cmu.edu/
koopman/des s99/sw reliability/presentation.pdf.
 
Search WWH ::




Custom Search