Handbook of Reliability Engineering

Chapter 33: Software Fault Tolerance

Xiaolin Teng and Hoang Pham

33.1 Introduction

Software fault tolerance is achieved through special programming techniques that enable the software to detect and recover from failures. This requires redundant software elements that provide alternative means of fulfilling the same specifications. The different versions must be developed independently such that they do not have common faults, if any, to avoid simultaneous failures in response to the same inputs.

The difference between software fault tolerance and hardware fault tolerance is that software faults are usually design faults, and hardware faults are usually physical faults. Hardware physical faults can be tolerated in redundant (spare) copies of a component that are identical to the original, since it is commonly assumed that hardware components fail independently. However, software design faults cannot generally be tolerated in this way because the error is likely to recur on the spare component if it is identical to the original [1].

Two of the best known fault-tolerant software schemes are N-version programming (NVP) and recovery block (RB). Both schemes are based on software component redundancy and the assumption that coincident failures of components are rare.

33.2 Software Fault-Tolerant Methodologies

33.2.1 N-version Programming

NVP was proposed by Chen and Avizienis. In this scheme, there are N ?2 functionally equivalent programs, called versions, which are developed independently from the same initial specification. An independent development means that each version will be developed by different groups of people. Those individuals and groups do not communicate with each other during the software...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Safety Monitoring Systems
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.