Software fault tolerance: t/(n-1)-variant programming

Jie Xu, Brian Randell · IEEE Transactions on Reliability · 1997

This paper describes the software fault tolerance scheme, t/(n-1)-variant programming (t/(n-1)-VP), which is based on a particular system diagnosis technique used in hardware and thereby has some spectral advantages involving a simplified adjudication mechanism and enhanced capability of tolerating faults. The dependability of the t/(n-1)-VP architecture is evaluated and then compared with two similar schemes: N-version programming (NVP) and N self-checking programming (NSCP). The comparison shows that t/(n-1)-VP is a viable addition or alternative to present techniques. Much of the classical dependability-analysis of software fault tolerance approaches has focused on the simplest architectural examples that tolerate only single software faults, without considering tolerance to multiple and/or related faults. The results obtained from such analyses are thus restricted. The dependability evaluation in this paper deals with more-complicated and general software redundancy: various architectures tolerating two or more faults. It is no surprise that we came to new conclusions: both t/(n-1)-VP and the NVP scheme have the ability to tolerate some related faults between software variants; in general, t/(n-1)-VP has higher reliability, whereas NVP is better from the safety viewpoint.

Read the paper · More papers on PaperTik