|
|
|
|
|
|
|
![]() | |
| Reliability HotWire | |
| Reliability Basics | |
|
Software Reliability Growth Modeling Using
the Standard and Modified Gompertz Models
Software reliability modeling and prediction during product development is an area of reliability that is getting more focus from software developers. The use of software reliability growth models plays an important role in measuring improvements, achieving effective and efficient test/debug scheduling during the course of a software development project, determining when to release a product or estimating the number of service releases required after release to reach a reliability goal. Many new trends in software development process standardization, in addition to established ones, emphasize the need for statistical metrics in monitoring reliability and quality improvements. In this article, we investigate the standard Gompertz and modified Gompertz models and show their applications in modeling software reliability growth using RGA 6. There are essentially two approaches to performing statistical reliability prediction for software. The first approach, based on design parameters, estimates the number of defects in the software using code characteristics such as numbers of lines of code, nesting of loops, external references, input/output calls, etc. The second approach is reliability growth analysis based on statistical correlations of actual defect detection data obtained during testing. Many models are used to describe reliability growth in software such as Crow-AMSAA, standard Gompertz, modified Gompertz and Lloyd-Lipow.* This article addresses the techniques available for the second approach using the Gompertz reliability growth models. Let us start with an overview of the basics of the Gompertz model and the modified Gompertz models. Then, we will discuss the application of these models for software development. The Standard Gompertz Model
The standard Gompertz model is mathematically given by the following 3-parameter equation:
where:
The estimated parameters in RGA 6 are unitless. The solution for the parameters, given Ti and Ri, is accomplished by fitting the best possible line through the data points. Many methods are available, all of which tend to be numerically intensive. For more details about the parameter estimation method used in RGA 6, click here. The Modified Gompertz Model
where:
The Reliability vs. Time plot for this model looks like the figure shown next.
The parameters of the modified Gompertz
model can be estimated using linear regression and confidence bounds can
also be estimated; for more details about how to estimate confidence bounds,
click
here. Application to Software Reliability
Growth Example 1
The next plot shows the estimated reliability plot along with the lower 90% one-sided confidence bound.
The next figure shows the calculation of the demonstrated reliability at the end of the test (10th stage of testing) with a 90% lower confidence estimate.
Because the "a" parameter in the standard Gompertz model is equal to 1, the testing/debugging program has the potential to grow the reliability of the software further than what is currently demonstrated. To achieve a reliability goal of 99%, for example, about 6.46 more stages of testing would be required.
Example 2 In the current software development project, the company experienced slow growth at the initial testing stages, which relied on random exploratory testing. It was then able to improve the efficiency of the testing cases after better identification of the user profile and risk areas in the software. The last few stages of testing revealed software faults at a slower rate and the company expects that the software is reaching its maturity. The following data set, shown entered in RGA 6, shows the test case results obtained at each of 11 stages of testing. The standard Gompertz model and the modified Gompertz model were fitted to the data set. The modified Gompertz model was a more appropriate model for this data set.
The reliability growth plot is shown next.
The achieved reliability is 0.9965, as shown next.
The asymptotic limit based on this reliability growth program is a + d = 0.9974. That reliability level is estimated to be achieved after about three stages of testing (at the 14.68th stage), as shown next.
Final Comments *Other common models include Musa, Goel-Okumoto, Pareto and Yamada | |
|
|
Copyright © 2008 ReliaSoft Corporation, ALL RIGHTS RESERVED |
|
Comments or Questions: Webmaster@ReliaSoft.comweibull.com is a service of ReliaSoft Corporation Copyright © 1992-2008 ReliaSoft Corporation, All Rights Reserved Last updated: 06/26/2008 06:59:22 PM |
SITE
[Home] [Site
Contents] |