Title: Software Fault Tolerance
Description: This volume summarizes the results obtained by the group working on softwarefault tolerance within the REQUEST (Reliability and Quality of European Software Technology) project of the ESPRIT programme of the European Communities. It should be read by anyone with a professional interest in safety-critical and fault-tolerant computing. A generic model is developed for evaluating the reliability of fault-tolerant software systems. Emphasis is put on identification of problem areas in the development and assessment of fault-tolerant software systems and in the components. Examples of crucial failures are those of diverse versions due to a common cause, or failures in the adjudicator which acts on outputs of diverse versions. The causes for common failures of versions are similarities in the solutions of specified problems. Methods were developed to determine similarity among versions by means of well-known software engineering methods. Concerning adjudicators, the influences of several factors on failure detection capability are discussed and guidelines are given for optimal design. A methodology is developed to determine dissimilarity on the level of diverse specifications. Cost-based support is given for deciding whether diversity should be used in a software system or a single program shouldbe enhanced by additional verification effort.