Software Fault Tolerance
Encyclopedia
Software fault tolerance is the ability of computer software
to continue its normal operation despite the presence of system or hardware
faults.
. The need to control software fault is one of the most rising challenges facing software industries today. It is obvious that fault tolerance must be a key consideration in the early stage of software development
.
What is minimized or maximized fault tolerance?
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....
to continue its normal operation despite the presence of system or hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
faults.
Introduction
The only thing constant is change. This is certainly more true of software systems than almost any phenomenon, 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 stateProgram state
One of the key concepts in computer programming is the idea of state, essentially a snapshot of the measure of various conditions in the system. Most programming languages require a considerable amount of state information in order to operate properly - information which is generally hidden from...
. The need to control software fault is one of the most rising challenges facing software industries today. It is obvious that fault tolerance must be a key consideration in the early stage of software development
Software development
Software development is the development of a software product...
.
What is minimized or maximized fault tolerance?
Software fault tolerance methodology
However there are different methodologies approaches in developing a well quality software tolerance from different angles by different researchers but the most widely used methods are:- N-versioned programming: this is based on hardware fault tolerance techniques which compare the output of duplicate hardware module run in parallel in an attempt to minimized coincidental failure caused by common logical flaws.
- Recovery blocks: this is based on software adaptation of the hardware fault tolerance techniques in which a set of redundant block is created, each of which create a comparable results.
- Robust data structure methods:This method is quite suitable compare to the N-versioned and recovery blocks because it allow user- defined structure such as list and trees, to be detected and corrected. Periodically a particular detection algorithmAlgorithmIn mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
examines a structure for errors.