Academic Journals Database
Disseminating quality controlled scientific knowledge

Diversity Through N-Version Programming: Current State, Challenges and Recommendations

Author(s): Raphaël Khoury | Abdelwahab Hamou-Lhadj | Mario Couture | Robert Charpentier

Journal: International Journal of Information Technology and Computer Science
ISSN 2074-9007

Volume: 4;
Issue: 2;
Start page: 56;
Date: 2012;
Original page

Keywords: Software reliability | System design | N-version programming | fault-tolerance

N-version programming is a software development paradigm that draws upon the concept of diversity to increase the reliability of software. The central idea is to independently produce multiple functionally equivalent versions of a program, and execute them in parallel. If the versions fail independently, then the probability of multiple versions producing a faulty output on any given input is very small; much lower than the failure probability of any single version. In this paper, we examine and contrast various experiments that have been performed to evaluate the benefits of this approach and draw some conclusions. We find that for diversity to be effective, it must be introduced in a targeted and informed manner and encompass several phases of the software’s development.
Affiliate Program     

Tango Rapperswil
Tango Rapperswil