• DocumentCode
    1298039
  • Title

    An experimental evaluation of the assumption of independence in multiversion programming

  • Author

    Knight, John C. ; Leveson, Nancy G.

  • Author_Institution
    Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, USA
  • Issue
    1
  • fYear
    1986
  • Firstpage
    96
  • Lastpage
    109
  • Abstract
    N-version programming has been proposed as a method of incorporating fault tolerance into software. Multiple versions of a program (i.e. `N´) are prepared and executed in parallel. Their outputs are collected and examined by a voter, and, if they are not identical, it is assumed that the majority is correct. This method depends for its reliability improvement on the assumption that programs that have been developed independently will fail independently. An experiment is described in which the fundamental axiom is tested. In all, 27 versions of a program were prepared independently from the same specification at two universities and then subjected to one million tests. The results of the tests revealed that the programs were individually extremely reliable but that the number of tests in which more than one program failed was substantially more than expected. The results of these tests are presented along with an analysis of some of the faults that were found in the programs. Background information on the programmers used is also summarized.
  • Keywords
    fault tolerant computing; programming; software reliability; N-version programming; fault tolerance; independence; multiversion programming; reliability improvement; voter; Educational institutions; NASA; Programming; Software; Software reliability; Design diversity; N-version programming; fault-tolerant software; multiversion programming; software reliability;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1986.6312924
  • Filename
    6312924