40 Years of Computing at Newcastle

Department Technical Report Series No. 594

The t/(n-1)-VP Approach to Fault-Tolerant Software

J. Xu and B. Randell

University of Newcastle upon Tyne. 1997.

Abstract

This paper describes a software fault tolerance scheme, called t/(n-1)-Variant Programming (or t/(n-1)-VP), which is based on a particular system diagnosis technique used in hardware and thereby has some special advantages involving a simplified adjudication mechanism and enhanced capability of tolerating faults. A detailed dependability evaluation of the t/(n-1)-VP architecture is conducted, compared with two similar schemes, namely, N-version programming (NVP) and N self-checking programming (NSCP). The results drawn from the comparison clearly show that t/(n-1)-VP is a viable addition or alternative to present techniques.

Much of classical work on dependability analysis of software fault tolerance approaches has focused on the simplest architectural examples that can only tolerate single software faults, without considering tolerance to multiple and related faults. The results obtained from such analyses are thus restricted. The dependability evaluation carried out in this paper deals with more complicated and general software redundancy, ie, various architectures tolerating two or more faults. It is not a great surprise that we come 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 would be better from the safety point of view.


Department Technical Report Series - 1997
Department Technical Report Series Index
Contents Page - 40 Years of Computing at Newcastle
Technical Report Abstract No. 594, 30 June 1997