Software Reliability Assessment - Myth and Reality

Introduction The importance of software as a contributor (if not the actual cause) of catastrophic events has been well documented [Leveson95]. Moreover, as software is integrated into safety critical systems, the same quantitative reliability requirements which have been previously allocated to hardware are now being allocated to both hardware and software. For example, both U.S. Federal Aviation Regulations (FARs) and International Joint Aviation Regulations impose maximum acceptable probabilities for failures of systems in passenger transport aircraft. Part 10 of the U.S. Code of Federal Regulations also establishes maximum acceptable probabilities for radioactive releases from nuclear power plants. When these standards were written, analog control systems were the dominant technology, and there was an accepted methodology for reliability prediction. Now digital (i.e., software-based) systems are replacing analog controls, but the old standards remain in force. The need for updating the standards and methodology extends to unregulated fields (e.g., computer-based automobile electronics) where there is economic motivation to being able to quantify the expected failure behavior. The greatest need is for methodologies that can demonstrate that quantitative requirements are being met. More detailed quantitative characterizations are also needed to identify system bottlenecks and provide insight for decision making. An overview of the principal methodologies is presented in Table 1, and individual descriptions of each methodology folow.