Information Technology Reference
In-Depth Information
Test/
Debug
Useful Life
Obsolescence
Infant
Mortality
End of
Life
Useful Life
λ
λ
Upgrades
T
m
e
T
m
e
(a)
(b)
FIGURE 14.1
Bath tub curve for (a) hardware (b) software. 4,5
As software permeates to every corner of our daily life, software-related problems
and the quality of software products can cause serious problems. The defects in soft-
ware are significantly different than those in hardware and other components of the
system; they are usually design defects, and a lot of them are related to problems
in specification. The unfeasibility of completely testing a software module compli-
cates the problem because bug-free software cannot be guaranteed for a moderately
complex piece of software. No matter how hard we try, a defect-free software prod-
uct cannot be achieved. Losses caused by software defects cause more and more
social and legal concerns. Guaranteeing no known bugs is certainly not an adequate
approach to the problem.
Although software reliability is defined as a probabilistic function and comes with
the notion of time, we must note that it is different from traditional hardware reliability.
Software reliability is not a direct function of time such as electronic and mechanical
parts that may age and wear out with time and usage. Software will not rust or wear
out during its life cycle and will not change across time unless intentionally changed
or upgraded. Software reliability can be defined as the probability of failure-free
software operation for a specified period of time in a specified environment (Dugan
and Lyu, 1995). Software reliability is also an important factor affecting system
reliability. It differs from hardware reliability in that it reflects the design perfection,
rather than the manufacturing perfection. The high complexity 6 of software is the
major contributing factor of software-reliability problems. Because computers and
computer systems have become a significant part of our modern society, it is virtually
impossible to conduct many day-to-day activities without the aid of computer systems
controlled by software. As more reliance is placed on these software systems, it is
essential that they operate in a reliable manner. Failure to do so can result in high
monetary, property, or human loss.
4 See Jiantao Pan at http://www.ece.cmu.edu/
koopman/des s99/sw reliability/presentation.pdf.
5 See Jiantao Pan at http://www.ece.cmu.edu/
koopman/des s99/sw reliability/.
6 See software metrics (Chapter 5).
 
Search WWH ::




Custom Search