Software fault tolerance
Appearance
This article needs additional citations for verification. (February 2011) |
![]() | It has been suggested that this article be merged with Fault-tolerant software. (Discuss) Proposed since March 2018. |
Software fault tolerance is the ability of computer software to continue its normal operation despite the presence of system or hardware faults.
Introduction
The only thing constant is change. This is certainly more true of software systems than almost any phenomenon,[1] not all software change in the same way so software fault tolerance methods are designed to overcome execution errors by modifying variable values to create an acceptable program state.[2] The need to control software fault is one of the most rising challenges facing software industries today. Fault tolerance must be a key consideration in the early stage of software development.
There exist different mechanisms for software fault tolerance, among which:
- Recovery blocks
- N-version software
- Self-checking software
See also
- Built-in self-test
- Built-in test equipment
- Immunity-aware programming
- Logic built-in self-test
- N-version programming
- Safety engineering
References
- ^ Eckhardt, D. E., "Fundamental Differences in the Reliability of N-Modular Redundancy and N-Version Programming", The Journal of Systems and Software, 8, 1988, pp. 313–318.
- ^ Ray Giguette and Johnette Hassell, “Toward A Resourceful Method of Software Fault Tolerance”, ACM Southeast regional conference, April, 1999.