This Article 
 Bibliographic References 
 Add to: 
The Consistent Comparison Problem in N-Version Software
November 1989 (vol. 15 no. 11)
pp. 1481-1485

The authors have identified a difficulty in the implementation of N-version programming. The problem, called the consistent comparison problem, arises for applications in which decisions are based on the results of comparing finite-precision numbers. It is shown that when versions make comparisons involving the results of finite-precision calculations, it is impossible to guarantee the consistency of their results. It is therefore possible that correct versions may arrive at completely different outputs for an application that does not apparently have multiple correct solutions. If this problem is not dealt with explicitly, an N-version system may be unable to reach consensus even when none of its component versions falls.

[1] L. Chen and A. Avizienis, "N-version programming" A fault-tolerance approach to reliability of software operation," inDig. FTCS-8: 8th Annu. Int. Symp. Fault-Tolerant Comput., Toulouse, France, June 1978, pp. 3-9.
[2] J. C. Knight, N. G. Leveson, and L. D. St. Jean, "A large scale experiment inN-version programming," inDig. FTCS-15: 15th Annu. Int. Symp. Fault-Tolerant Comput., Ann Arbor, MI, June 1985, pp. 135-139.
[3] J. Knight and N. Leveson, "An experimental evaluation of the assumption of independence in multiversion programming,"IEEE Trans. Software Eng., vol. SE-12, no. 1, pp. 96-109, Jan. 1986.
[4] J. C. Knight and N. G. Leveson, "An empirical study of failure probabilities in multiversion software," inDig. FTCS-16: 16th Annu. Int. Symp. Fault-Tolerant Comput., Vienna, Austria, July 1986, pp. 165-170.
[5] T. Anderson and P. Lee,Fault Tolerance: Principles and Practice. London, UK: Prentice-Hall International, 1981.
[6] D. E. Knuth,The Art of Computer Programming, Vol. 2, Seminumerical Algorithms. Reading, MA: Addison-Wesley, 1981.
[7] P. Bishop, personal communication, June 1986.
[8] A. Avizienis and L. Chen, "On the implementation ofN-version programming for software fault-tolerance during program execution," inProc. COMPSAC'77, Nov. 1977, pp. 149-155.
[9] L. Lamport, R. Shostak, and M. Pease, "The Byzantine Generals Problem,"ACM Trans. Programming Languages and Systems, Vol. 4, No. 3, July 1982, pp. 382-401.
[10] K. S. Tso and A. Avizienis, "Community error recovery inN-version software: A design study with experimentation," inDig. FTCS-17: 17th Annu. Int. Symp. Fault-Tolerant Comput., Pittsburgh, PA, July 1987.

Index Terms:
consistent comparison problem; N-version software; N-version programming; decisions; finite-precision numbers; finite-precision calculations; fault tolerant computing; programming
S.S. Brilliant, J.C. Knight, N.G. Leveson, "The Consistent Comparison Problem in N-Version Software," IEEE Transactions on Software Engineering, vol. 15, no. 11, pp. 1481-1485, Nov. 1989, doi:10.1109/32.41339
Usage of this product signifies your acceptance of the Terms of Use.