Information Technology Reference
In-Depth Information
Installability
Replaceability
Adaptability
Conformance (similar to compliance, but here related specifically to portability,
e.g., conformance to a particular database standard)
Reliability —A set of attributes that bear on the capability of software to maintain
its level of performance under stated conditions for a stated period of time.
Maturity
Recoverability
Fault tolerance
Much of what developers call software reliability has been borrowed or adapted
from the more mature field of hardware reliability. The influence of hardware is
evident in the current practitioner community where hardware-intensive systems and
typical hardware-related concerns predominate.
Two issues dominate discussions about hardware reliability: time and operating
conditions. Software reliability—the probability that a software system will operate
without failure for a specified time under specified operating conditions—shares
these concerns (Musa et al., 1987). Because of the fundamental differences between
hardware and software, it is legitimate to question these two pillars of software
reliability.
The study of software reliability can be categorized into three parts: modeling,
measurement, and improvement. Software reliability modeling has matured to the
point that meaningful results can be obtained by applying suitable models to the
problem. Many models exist, but no single model can capture the necessary amount of
software characteristics. Assumptions and abstractions must be made to simplify the
problem. There is no single model that is universal to all situations. Software reliability
measurement is immature. Measurement is far from commonplace in software, as in
other engineering fields. Software reliability cannot be directly measured, so other
related factors are measured to estimate software reliability and compare it with
products. Development process, faults, and failures found are all factors related to
software reliability. 2
Because more and more software is creeping into embedded systems, we must
make sure they do not embed disasters. If not considered carefully, then software
reliability can be the reliability bottleneck of the whole system. Ensuring software
reliability is no easy task. As hard as the problem is, promising progresses still are
being made toward more reliable software. More standard components and better
processes are introduced in the software engineering field.
Many belts draw analogies between hardware reliability and software reliability.
Although it is tempting to draw an analogy between both, software and hardware
have basic differences that make them different in failure mechanisms and, hence, in
2 See Jiantao Pan, http://www.ece.cmu.edu/
koopman/des s99/sw reliability/presentation.pdf.
 
Search WWH ::




Custom Search