In assessing the quality of software, we would like to make engineering judgements similar to those based on statistical quality control. Ideally, we want to support statements like: \The con dence that this program's result at X is correct is p," where X is a particular vector of inputs, and p is a probability obtained from measurements of the software (perhaps involving X). For the theory to be useful, it must be feasible to predict values of p near 1 for many programs, for most values of X. Manuel Blum's theory of self-checking/correcting programs has exactly the right character, but it applies to only a few unusual problems. Conventional softwarereliability theory is widely applicable, but it yields only con dence in a failure intensity, and the measurements required to support a correctness-like failure intensity (say 10 9/demand) are infeasible. Je Voas's sensitivity theory remedies these problems of reliability theory, but his model is too simple to be very ...
Richard G. Hamlet