Results 1 -
6 of
6
An Experimental Evaluation Of The Assumption Of Independence In Multi-Version Programming *
- IEEE Transactions on Software Engineering
, 1986
"... 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 theyare not identical, it is assumed that the majority is c ..."
Abstract
-
Cited by 203 (10 self)
- Add to MetaCart
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 theyare 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.Inthis paper an experiment is described in which the fundamental axiom is tested. Atotal of twenty sevenversions of a program were prepared independently from the same specification at twouniversities 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. The conclusion from this experiment is that N-version programming must be used with care and that analysis of its reliability must include the effect of dependent errors. Keywords and Phrases: Multi-version programming, N-version programming, software reliability,fault-tolerant software, design diversity. * This work was sponsored in part by NASA grant number NAG1-242 and in part by a MICROgrant cofunded by the state of California and Hughes Aircraft Company. 1.
Software safety: Why, what and how
- ACM Computing Surveys
, 1986
"... Software safety issues become important when computers are used to control real-time, safety-critical processes. This survey attempts to explain why there is a problem, what the problem is, and what is known about how to solve it. Since this is a relatively new software research area, emphasis is pl ..."
Abstract
-
Cited by 53 (2 self)
- Add to MetaCart
Software safety issues become important when computers are used to control real-time, safety-critical processes. This survey attempts to explain why there is a problem, what the problem is, and what is known about how to solve it. Since this is a relatively new software research area, emphasis is placed on delineating the outstanding issues and
An Experimental Evaluation of the Assumption
- of Independence in Multiversion Programming”, IEEE Transactions on Software Engineering
"... ..."
Towards Diversity of COTS Software Applications: Reducing Risks of Widespread Faults and Attacks
- Trusted E-Services Laboratory, HP Laboratories Bristol, document HPL-2002-178, June 26 (2002). Bev Littlewood and Lorenzo Strigini
, 2002
"... In this paper we briefly describe some current techniques and mechanisms used to ensure diversity in software applications. We then introduce and discuss an alternative approach to software diversity aiming at the reduction of widespread software attacks and faults. This approach takes advantage of ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In this paper we briefly describe some current techniques and mechanisms used to ensure diversity in software applications. We then introduce and discuss an alternative approach to software diversity aiming at the reduction of widespread software attacks and faults. This approach takes advantage of the componentisation of modern software solutions and enforces diversity at the installation time by randomly selecting and deploying critical software components.
Diversity, Neural Nets and Safety Critical Applications
- In L. Niklasson, M. Boden (Eds) Current Trends in Connectionism, 165-178, Lawrence Erlbaum Associates
, 1995
"... A Neural Net that generalises to previously unseen examples, at a level of about 95% sounds impressive unless it forms part of a reallife application. In such cases, a greater level of reliability would be required. N-version programming is a popular technique for increasing reliability in softw ..."
Abstract
- Add to MetaCart
A Neural Net that generalises to previously unseen examples, at a level of about 95% sounds impressive unless it forms part of a reallife application. In such cases, a greater level of reliability would be required. N-version programming is a popular technique for increasing reliability in software programs; the idea being that if programs are independently developed they will fail independently, and that independent N-versions, in combination with a voter, will be more likely to produce a correct output than a single program. It has been argued (Knight and Leveson, 1986) that true independence is unlikely to be achieved; and that the aim should be one of promoting methodological diversity, with the aim of finding negatively correlated methodologies (Littlewood and Miller, 1989). Our aim, in this paper, was to apply the concept of diversity to Neural Nets, and to conduct an investigation to examine the relative merits of different potential methods for creating diversity....

