Although several models have been proposed for assessing software reliability, none has emerged as the most effective predictor. The authors offer a general simulation technique that relaxes or removes many of the usual reliability-modeling assumptions and expands the reliability process to encompass the entire software life cycle.