n-version programming has been proposed as a method of incorporating fault tolerance into software by independently preparing multiple versions of a program and voting on the results. This method depends for its relia...
详细信息
n-version programming has been proposed as a method of incorporating fault tolerance into software by independently preparing multiple versions of a program and voting on the results. This method depends for its reliability improvement on the assumption that programs that have been developed independently will fail independently. In this paper an experiment is described in which the fundamental axiom is tested. A total of twenty sevenversions of a program were prepared independently from the same specification at two universities and then subjected to one million input test cases. 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 conclusion from this experiment is that independence of failure patterns in separate produced software versions cannot in general be assumed to be true and that analysis of the reliability of n-version programming must include the effect of dependent errors.
暂无评论