CFP last date
20 March 2024
Call for Paper
April Edition
IJCA solicits high quality original research papers for the upcoming April edition of the journal. The last date of research paper submission is 20 March 2024

Submit your paper
Know more
Reseach Article

A Proposed System for Real Time Adaptive N Version Programming

by Pooja Yadav, Shilpa Singh, Ajay More
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 136 - Number 4
Year of Publication: 2016
Authors: Pooja Yadav, Shilpa Singh, Ajay More

Pooja Yadav, Shilpa Singh, Ajay More . A Proposed System for Real Time Adaptive N Version Programming. International Journal of Computer Applications. 136, 4 ( February 2016), 28-32. DOI=10.5120/ijca2016908435

@article{ 10.5120/ijca2016908435,
author = { Pooja Yadav, Shilpa Singh, Ajay More },
title = { A Proposed System for Real Time Adaptive N Version Programming },
journal = { International Journal of Computer Applications },
issue_date = { February 2016 },
volume = { 136 },
number = { 4 },
month = { February },
year = { 2016 },
issn = { 0975-8887 },
pages = { 28-32 },
numpages = {9},
url = { },
doi = { 10.5120/ijca2016908435 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
%0 Journal Article
%1 2024-02-06T23:36:08.470463+05:30
%A Pooja Yadav
%A Shilpa Singh
%A Ajay More
%T A Proposed System for Real Time Adaptive N Version Programming
%J International Journal of Computer Applications
%@ 0975-8887
%V 136
%N 4
%P 28-32
%D 2016
%I Foundation of Computer Science (FCS), NY, USA

N-version programming is a fault tolerance technique that depends on a generic decision algorithm to determine a consensus result from the results delivered by two or more member versions of the software. In N-version programming, N teams of developers work independently on N unique but equivalent implementations of the same program. The major objectives of the NVP process are to maximize the independence of version development and to employ design diversity in order to minimize the probability that two or more member versions will produce similar erroneous results that coincide in time for a decision (consensus) action. But this fault-tolerance technique has been criticized for its statistical assumptions and high cost. A solution is proposed in which there are N versions of the software out of which t versions implement only a subset of the entire functionality which is highly critical while (N – t) versions implement the entire functionality. One of the biggest hurdles in using N version programming for fault tolerance is its high implementation cost. This proposed technique minimizes the cost of implementation while improving the efficiency and reliability of the system.

  1. L. Chen and A. Avizienis, ‘‘N-version programming: A fault-tolerance approach to reliability of software operation,’’ Digest of Papers FTCS-8: Eighth Annual International Conference on Fault Tolerant Computing, Toulouse, France, pp. 3-9, June 1978.
  2. A. A. Aviˇzienis. The Methodology of N-Version Programming, chapter 2. John Wiley and Sons, 1995.
  3. Jeff Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, John Wiley and Sons, 2005, pp. 272-275.
  4. A. Aviˇzienis and L. Chen. “On the implementation of N-version programming for software fault tolerance during execution”. In Proc. IEEE COMPSAC 77, pages 149–155, November 1977.
  5. K.H. Kim, ‘‘Distributed Execution of Recovery Blocks: An Approach to Uniform Treatment of Hardware and Software Faults,’’ in Proceedings IEEE 4th International Conference on Distributed Computing Systems, pp. 526-532, San Francisco, California, May 1984.
  6. J.-C. Laprie, ‘‘Hardware-and-Software Dependability Evaluation,’’ in Proceedings 11th World IFIP Congress, pp. 109-114, San Francisco, California, September 1989.
  7. J. Lala, L. Alger, S. Friend, G. Greeley, S. Sacco, and S. Adams, ‘‘Study of A Unified Hardware and Software Fault Tolerant Architecture,’’ Report No. 181759, NASA Contract No. NAS1-18061, January 1989.
  8. Michael R. Lyu, Algirdas Avižienis, “Assuring Design Diversity in N-Version Software: A Design Paradigm for N-Version Programming”, in Chapter Dependable Computing for Critical Applications 2 Volume 6 of the series Dependable Computing and Fault-Tolerant Systems pp 197-218, 1992.
  9. Romeu, J.L. Reliability Estimations for Exponential Life, RAC START, Volume 10, Number 7.
  10. Hoyland, A. and M. Rausand, System Reliability Theory: Models and Statistical Methods, Wiley, NY, 1994.
Index Terms

Computer Science
Information Sciences


N version programming fault tolerance reliability real time systems