Software Fault Tolerance Techniques
The one-day seminar examines the techniques, language features, and operating system mechanisms available for tolerating unanticipated software design faults in safety-critical applications such as nuclear power control. This presentation examines the issues and rationale for tolerating software faults, the similarities to tolerating hardware faults, and the advantages and disadvantages of the techniques typically used. Special attention is paid to the concept of design diversity as the underlying theory of both N-Version Programming (NVP) and Recovery Blocks. The question of the effectiveness of design diversity is explored so that informed choices may be made among the significantly different mechanisms based upon the theory.
Professional programmers will benefit most, but no prior experience is required.
Students will have an appreciation of the need for tolerating software faults and a firm foundation necessary for implementing the techniques and mechanisms using their favorite programming language and operating system.