Software Reliability Models: A Survey and an Analysis
Wan, Qiaolan
Citations
Abstract
Software reliability is becoming increasingly more important in software engineering. Software reliability models have been developed to predict or estimate the reliability of software during its development. There are more than 40 software reliability models in the open literature, but no one model is best for every case under all circumstances. In this thesis, six software reliability models: Musa's models, the Jelinski-Moranda model, the Geol-Okumoto NHPP model, Shooman's model, the Littlewood-Verral model, and the Bayesian Belief Networks (BBN) model were investigated. Then the BBN model was analyzed in detail through applying it to predict the reliability of SeqWizard, a software system developed to process large-scale DNA and protein data. For the six software reliability models investigated, the following issues were discussed for each model: a brief history, model classification, software development phase(s) applied, basic assumptions, data requirements, model form, and application scope. The six models were also compared from three aspects: factors modeled, availability of CASE tools, and advantages and disadvantages. These survey results can be used by practitioners to help make a decision when choosing among software reliability model(s). A BBN for the reliability of SeqWizard was constructed through seven steps. The suitability of this BBN was checked by a set of hypothetical scenarios. The predicted reliability of SeqWizard was consistent with the reliability report of SeqWizard generatedby Arizona University, Purdue University, and Oklahoma State University in its beta testing stage. This indicated the suitability of the reliability BBN constructed in this thesis and the effectiveness of the BBN model for reliability prediction. In addition to reliability, the number of faults introduced to SeqWizard, the number of faults found during testing, and the number of latent faults remained in SeqWizard were also obtained from the reliability BBN. These predicted results can be used by decision-makers in software development.