Often, faults are summarized by normalizing against the size of the product. The reader can use Table 2.2-2 as typical fault density values in the absence of further data from his environment. While tracking Software Problem Reports is a useful methodology for monitoring the software development process, it does not result in a predictive user-oriented reliability metric. Software reliability models, which relate failure data to a statistical model of the software failure process, are used to specify, predict, estimate, and assess the reliability of software systems. The discipline of Software Reliability Engineering evolved from the development and application of these probabilistic models of the software failure process.
Many models are in use with good results.
Customarily, these models are applied during system test or maintenance by collecting failure data, fitting the model, and updating results based on additional data. If the fit is good, the model can be used with relative confidence to provide an assessment of current reliability or to predict future failure behavior. For example, if a model has been proven accurate time and again for previous increments of a software product, then its use results in trust in new results. For explicitness, this report describes Musa's Basic Execution Time Model, one of the most well-accepted software reliability models. Suppose a software system is operating in an environment with an unchanging operational profile.