Skip to main navigation Skip to search Skip to main content

A study of N-version programming and its impact on software availability

Min Xie, Chengjie Xiong, Szu-Hui Ng

    Research output: Journal Publications and ReviewsRGC 21 - Publication in refereed journalpeer-review

    Abstract

    N-version programming is a useful approach to improve the quality of software, especially for safety-critical systems. Positive performance in enhancing software availability is an expected result. In this paper, a software availability model for the study of the impact of N-version programming technique is proposed and investigated. The characteristics of the N-version software system and its operation and failure process are analysed. Based on this analysis, the time-dependent behaviour of the software system, which alternates between online and offline states, is described using a Markov chain. This model derives quantitative measures of software availability. Numerical examples and comparisons are also presented in this paper to directly illustrate N-version programming's positive impact on software availability measures. N-version programming generally provides a positive impact on the system. However, it does not always guarantee a higher availability performance. General recommendations are provided on N-version software structure design based on cost-effective criteria. © 2013 Taylor & Francis.
    Original languageEnglish
    Pages (from-to)2145-2157
    JournalInternational Journal of Systems Science
    Volume45
    Issue number10
    DOIs
    Publication statusPublished - 3 Oct 2014

    Research Keywords

    • Markov chain
    • N-version programming
    • optimal software structure
    • software availability

    Fingerprint

    Dive into the research topics of 'A study of N-version programming and its impact on software availability'. Together they form a unique fingerprint.

    Cite this