Software Reliability Growth Modeling

Traditional Software Reliability Growth Modeling

Software Relability Growth Models (SRGMs) are a mechanism for charting and prediciting the occurance of defects in software vs. the run time of that software. They enable software project managers to make informed decisions about the release and maintence of software. Unfortunately, traditional software reliability growth modeling suffers from two common problems. Most traditional SRGMs suffer from a prediction bias. When predicting the number of defects to be found in the future they consistently either over estimate or under estimate the number of defects. Data collection for use in traditional models also suffers from a clumping effect, where a long period of time will pass with out new defects being found. Then, a new class of fault will be discovered resulting in a temporary spike in new defects being found and corrected before the software becomes stable again with those defects corrected. Model recalibration and data smoothing can address these problems, greatly increasing the short and long term predictive accuracy of traditional software reliability growth models.

Coverage Based Modeling

Coverage based defect modeling provides an alternative to the noisy data collection process of traditional software relability growth modeling. After a short "burn in" period, the relationship between increasing software coverage and defects found is essentially linear. Rather than model the growth in software relability based on the CPU or wall clock time of defects found, a more robust model for determing the number of defects present in software can be based on objective information about how well a piece of software was been excercised.


ROBUST is a tool for software reliability growth modeling. It supports traditional software reliabilty growth modeling in the form of both exponential and logarithmic models; and provides tools for recalibrations then and smoothing their input data. It also implements the Malaiya, Li, Denton linear coverage model for prediciting the number of defects based on coverage data.

ROBUST is written in C++, and depends on the V Gui Toolkit and code from Numercial Recipies in C.