Ebook: Software Fault Tolerance: Achievement and Assessment Strategies
- Tags: Programming Techniques, Software Engineering, Operating Systems, System Performance and Evaluation, Input/Output and Data Communications
- Series: Research Reports ESPRIT 1
- Year: 1992
- Publisher: Springer-Verlag Berlin Heidelberg
- Edition: 1
- Language: English
- pdf
The first ESPRIT programme contained several ambitious projects. of which REQUEST. with its wide brief covering all issues of assessment of quality and reliability of software process and product. was one. Within REQUEST. the research described in this volume. concerning those special problems of software that is required to have extremely high reliability. was particularly difficult and ambitious. The problems of software reliability are essentially twofold. On the one hand there is a concern with methods for achieving adequate reliability. on the other hand there is a need to evaluate what has actually been achieved in a particular case. Naturally. far more effort has been spent over the years on the former problem; indeed. there is a sense in which all of conventional software engineering can be seen as a response to this problem. However. it is becoming clearer than ever that we can only claim to have a truly sCientific approach. and so justify the description software engineering. when we are able to measure the attributes of process and product. It is still common to find software development methods recommended to users on purely anecdotal grounds. This is not good enough. Rational choices between rival approaches can only be made on the basis of quantified costs and benefits. Even more worrying is the tendency to argue that a software product can be depended upon merely because it has been developed by honest men using such anecdotal 'good practice'.
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.
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.
Content:
Front Matter....Pages i-xv
Introduction....Pages 1-3
Overview....Pages 5-19
Considerations on Software Diversity on the Basis of Experimental and Theoretical Work....Pages 21-32
The Impact of Forced Diversity on the Failure Behaviour of Multiversion Software....Pages 33-47
Functional Diversity....Pages 49-113
Estimation of Failure Correlation in Diverse Software Systems with Dependent Components....Pages 115-124
Measurement of Diversity Degree by Quantification of Dissimilarity in the Input Partition....Pages 125-133
Comparison of Mnemonics for Software Diversity Assessment....Pages 135-146
The FRIL Model Approach for Software Diversity Assessment....Pages 147-175
Reliability Evaluation....Pages 177-197
The Impact of Voter Granularity in Fault-Tolerant Software on System Reliability and Availability....Pages 199-212
A Theoretical Evaluation of the Acceptance Test in Recovery Block Programming....Pages 213-223
Location of Checkpoints by Considering Information Reduction....Pages 225-236
Conclusions....Pages 237-243
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.
Content:
Front Matter....Pages i-xv
Introduction....Pages 1-3
Overview....Pages 5-19
Considerations on Software Diversity on the Basis of Experimental and Theoretical Work....Pages 21-32
The Impact of Forced Diversity on the Failure Behaviour of Multiversion Software....Pages 33-47
Functional Diversity....Pages 49-113
Estimation of Failure Correlation in Diverse Software Systems with Dependent Components....Pages 115-124
Measurement of Diversity Degree by Quantification of Dissimilarity in the Input Partition....Pages 125-133
Comparison of Mnemonics for Software Diversity Assessment....Pages 135-146
The FRIL Model Approach for Software Diversity Assessment....Pages 147-175
Reliability Evaluation....Pages 177-197
The Impact of Voter Granularity in Fault-Tolerant Software on System Reliability and Availability....Pages 199-212
A Theoretical Evaluation of the Acceptance Test in Recovery Block Programming....Pages 213-223
Location of Checkpoints by Considering Information Reduction....Pages 225-236
Conclusions....Pages 237-243
....