Information Technology Reference
In-Depth Information
Curve Fitting : Uses statistical regression analysis to study the relationship
between software complexity and the number of faults in a program as well
as the number of changes, or failure rate.
Reliability Growth : Measures and predicts the improvement of reliability
programs through the testing process. Reliability growth also represents the
reliability or failure rate of a system as a function of time or the number
of test cases. Reliability growth for software is the positive improvement of
software reliability across time and is accomplished through the systematic
removal of software faults. The rate at which the reliability grows depends on
how fast faults can be uncovered and removed. A software reliability growth
model allows project management to track the progress of the software's
reliability through statistical inference and to make projections of future
milestones.
If the assessed growth falls short of the planned growth, then management
will have sufficient notice to develop new strategies, such as the reassignment
of resources to attack identified problem areas, adjustment of the project time
frame, and reexamination of the feasibility or validity of requirements.
Measuring and projecting software reliability growth requires the use
of an appropriate software reliability model that describes the variation of
software reliability with time. The parameters of the model can be obtained
either from prediction performed during the period preceding the system test
or from estimation performed during the system test. Parameter estimation
is based on the times at which failures occur.
The use of a software reliability growth testing procedure to improve the
reliability of a software system to a defined reliability goal implies that a sys-
tematic methodology will be followed for a significant duration. To perform
software reliability estimation, a large sample of data must be generated to
determine statistically, with a reasonable degree of confidence, that a trend
has been established and is meaningful. Commonly used reliability growth
models are listed in Table 14.2. It is recommended that the leader familiarize
himself (herself) with basic reliability modeling mathematics in Appendix
14.A. The mathematics of a hazard function can be explained best using a
bathtub curve.
B. Predictive reliability models assign probabilities to the operational profile
of a software system; for example, the system has a 10% chance of failure
during the next 120 operational hours. Representative prediction models in-
clude Musa's execution time model (Musa, 1975), Putnam's model (Putnam
& Ware, 2003), and Rome laboratory models TR-92-51 and TR-92-15, and
so on. Using prediction models, software reliability can be predicted early
in the development phase, and enhancements can be initiated to improve the
reliability.
The software reliability field has matured to the point that software models can
be applied in practical situations and give meaningful results and that there is no one
Search WWH ::




Custom Search