ANALYSIS OF FAULTS IN AN N-VERSION SOFTWARE EXPERIMENT

被引:64
|
作者
BRILLIANT, SS
KNIGHT, JC
LEVESON, NG
机构
[1] UNIV VIRGINIA,DEPT COMP SCI,CHARLOTTESVILLE,VA 22903
[2] UNIV CALIF IRVINE,DEPT COMP SCI,IRVINE,CA 92717
基金
美国国家科学基金会; 美国国家航空航天局;
关键词
Design diversity; Fault-tolerant software; Multiversion programming; N-version programming; Software reliability;
D O I
10.1109/32.44387
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We have conducted a large-scale experiment in TV-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 were individually 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. In this paper we present an analysis of these faults. Our goal in undertaking this analysis was to understand better the nature of the faults. We found that in some cases the programmers made equivalent logical errors, indicating that some parts of the problem were simply more difficult than others. We also found cases in which apparently different logical errors yielded faults that caused statistically correlated failures, indicating that there are special cases in the input space that present difficulty in various parts of the solution. A formal model is presented to explain this phenomenon. It appears that minor differences in the software development environment, such as the use of different programming languages for the different versions, would not have a major impact in reducing the incidence of faults that cause correlated failures. © 1990 IEEE
引用
收藏
页码:238 / 247
页数:10
相关论文
共 50 条
  • [1] Software Reliability Growth Model for N-Version Fault Tolerant Software with Common and Independent Faults
    Kumar, Sudeep
    Aggarwal, Anu G.
    Gupta, Ritu
    Kapur, P. K.
    INTERNATIONAL JOURNAL OF RELIABILITY QUALITY AND SAFETY ENGINEERING, 2023, 30 (06)
  • [2] Reliability of N-version programming software with testing effort
    Gupta R.
    Jain M.
    International Journal of Reliability and Safety, 2020, 14 (04) : 229 - 251
  • [3] Reliability analysis in N-version programming with dependent failures
    Ege, M
    Eyler, MA
    Karakas, MÜ
    PROCEEDINGS OF THE 27TH EUROMICRO CONFERENCE - 2001: A NET ODYSSEY, 2001, : 174 - 181
  • [4] Cost modeling of N-version fault-tolerant software systems for large N
    Scott, RK
    McAllister, DF
    IEEE TRANSACTIONS ON RELIABILITY, 1996, 45 (02) : 297 - 302
  • [5] A study of N-version programming and its impact on software availability
    Xie, Min
    Xiong, Chengjie
    Ng, Szu-Hui
    INTERNATIONAL JOURNAL OF SYSTEMS SCIENCE, 2014, 45 (10) : 2145 - 2157
  • [6] Using Blockchain Technology to Improve N-Version Software Dependability
    Gruzenkin, Denis V.
    Mikhalev, Anton S.
    Grishina, Galina V.
    Tsarev, Roman Yu.
    Rutskiy, Vladislav N.
    COMPUTATIONAL AND STATISTICAL METHODS IN INTELLIGENT SYSTEMS, 2019, 859 : 132 - 137
  • [7] OPTIMAL-DESIGN OF LARGE SOFTWARE-SYSTEMS USING N-VERSION PROGRAMMING
    ASHRAFI, N
    BERMAN, O
    CUTLER, M
    IEEE TRANSACTIONS ON RELIABILITY, 1994, 43 (02) : 344 - 350
  • [8] N-version Software Module Requirements to Grant the Software Execution Fault-Tolerance
    Gruzenkin, Denis V.
    Chernigovskiy, Alexey S.
    Tsarev, Roman Yu
    CYBERNETICS APPROACHES IN INTELLIGENT SYSTEMS: COMPUTATIONAL METHODS IN SYSTEMS AND SOFTWARE 2017, VOL. 1, 2018, 661 : 293 - 303
  • [9] Efficient reliability prediction for N-version software systems with multiple stages
    Li, KQ
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 1998, 13 (02): : 113 - 120
  • [10] A software-reliability growth model for N-version programming systems
    Teng, XL
    Pham, H
    IEEE TRANSACTIONS ON RELIABILITY, 2002, 51 (03) : 311 - 321