An experimental evaluation of the assumption of independence in multiversion programming
IEEE Transactions on Software Engineering
The Consistent Comparison Problem in N-Version Software
IEEE Transactions on Software Engineering
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
Specification of fault-tolerant multi-version software: experimental studies of a design diversity approach
The Use of Self Checks and Voting in Software Error Detection: An Empirical Study
IEEE Transactions on Software Engineering
Dynamic adaptation of real-time software
ACM Transactions on Computer Systems (TOCS)
An Empirical Comparison of Software Fault Tolerance and Fault Elimination
IEEE Transactions on Software Engineering
An Experimental Evaluation of Software Redundancy as a Strategy for Improving Reliability
IEEE Transactions on Software Engineering
Communications of the ACM - Special issue on information filtering
High-pressure steam engines and computer software
ICSE '92 Proceedings of the 14th international conference on Software engineering
Modeling Correlation in Software Recovery Blocks
IEEE Transactions on Software Engineering - Special issue on software reliability
Highly reliable upgrading of components
Proceedings of the 21st international conference on Software engineering
Toward a resourceful method of software fault tolerance
ACM-SE 37 Proceedings of the 37th annual Southeast regional conference (CD-ROM)
Increasing the confidence in off-the-shelf components: a software connector-based approach
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
Splitting the Difference: The Historical Necessity of Synthesis in Software Engineering
IEEE Annals of the History of Computing
N-Version Design Versus One Good Version
IEEE Software
Using Simplicity to Control Complexity
IEEE Software
Increasing System Safety for By-Wire Applications in Vehicles by Using a Time Triggered Architecture
SAFECOMP '98 Proceedings of the 17th International Conference on Computer Safety, Reliability and Security
The Reliability of Diverse Systems: A Contribution Using Modelling of the Fault Creation Process
DSN '01 Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS)
Empirical evaluation of a fuzzy logic-based software quality prediction model
Fuzzy Sets and Systems - Special issue: Optimization and decision support systems
Reducing Uncertainty About Common-Mode Failures
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Supporting Rapid Prototyping through Frequent and Reliable Deployment of Evolving Components
RSP '01 Proceedings of the 12th International Workshop on Rapid System Prototyping
Acceptability-oriented computing
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Acceptability-oriented computing
ACM SIGPLAN Notices
Reflections on Industry Trends and Experimental Research in Dependability
IEEE Transactions on Dependable and Secure Computing
A relational database model of program execution and software components
ACM-SE 38 Proceedings of the 38th annual on Southeast regional conference
Ten top reasons for systems biology to get into model-driven engineering
Proceedings of the 2006 international workshop on Global integrated model management
Information Processing Letters
Safety and Software Intensive Systems: Challenges Old and New
FOSE '07 2007 Future of Software Engineering
Fault Tolerance via Diversity for Off-the-Shelf Products: A Study with SQL Database Servers
IEEE Transactions on Dependable and Secure Computing
A defect prediction method for software versioning
Software Quality Control
Leveraging complexity in software for cybersecurity
Proceedings of the 5th Annual Workshop on Cyber Security and Information Intelligence Research: Cyber Security and Information Intelligence Challenges and Strategies
N-version programming with imperfect debugging
Computers and Electrical Engineering
The software engineering class builds a GUI for subversion
ACM SIGCSE Bulletin
Information Processing Letters
Improving dependability of component-based systems via multi-versioning connectors
Architecting dependable systems
DAFT: decoupled acyclic fault tolerance
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
N-version programming in WCET analysis: revisiting a discredited idea
Proceedings of the FSE/SDP workshop on Future of software engineering research
Application communities: using monoculture for dependability
HotDep'05 Proceedings of the First conference on Hot topics in system dependability
The effectiveness of choice of programming language as a diversity seeking decision
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
Runtime asynchronous fault tolerance via speculation
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Science of Computer Programming
Component survivability at runtime for mission-critical distributed systems
The Journal of Supercomputing
Hi-index | 0.00 |
The authors have conducted a large-scale experiment in N-version programming. A total of 27 versions of a program were prepared independently from the same specification at two universities. The results of executing the versions revealed that the versions wereindividually extremely reliable but that the number of input cases in which more than one failed was substantially more than would be expected if they were statistically independent. After the versions had been executed, the failures of each version were examined and the associated faults located. It appears that minor differences in the software development environment would not have a major impact in reducing the incidence of faults that cause correlated failures.