Date Added: Jul 2012
Fault tolerance is the ability of a system to perform its function correctly even in the presence of internal faults. The authors should accept that, relying on software techniques for obtaining dependability means accepting some overhead in terms of increased size of code and reduced performance (or slower execution). N-version programming achieves redundancy through the use of multiple versions. Failures are detected by comparing the results of the different versions. In this paper, they will discuss the techniques of software fault tolerance such as recovery blocks, N-version programming, single version programming, multi-version programming, Comparison of N-Version with recovery block .