Abstract
Limitations in the current capabilities for verifying programs by formal proof or by exhaustive testing have led to the investigation of fault-tolerance techniques for applications where the consequence of failure is particularly severe. Two current approaches, N-version programming and the recovery block, are described. A critical feature in the latter is the acceptance test, and a number of useful techniques for constructing these are presented. A system model for the recovery block is introduced, and conclusions derived from this model that affect the design of fault-tolerant software are discussed.

This publication has 15 references indexed in Scilit: