A study of N-version programming and its impact on software availability |
| |
Authors: | Min Xie Szu-Hui Ng |
| |
Affiliation: | 1. Department of Systems Engineering and Engineering Management, City University of Hong Kong, Hong Kong SAR;2. Department of Industrial and Systems Engineering, National University of Singapore, Singapore;3. Department of Industrial and Systems Engineering, National University of Singapore, Singapore |
| |
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. |
| |
Keywords: | N-version programming software availability Markov chain optimal software structure |
|
|