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
相关论文
共 15 条
[1]  
AVIZIENIS A, 1982, FAULT TOLERANT MULTI
[2]   THE CONSISTENT COMPARISON PROBLEM IN N-VERSION SOFTWARE [J].
BRILLIANT, SS ;
KNIGHT, JC ;
LEVESON, NG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1989, 15 (11) :1481-1485
[3]  
CHEN L, 1978, DIGEST PAPERS FTC, V8, P3
[4]  
DUNHAM JR, 1983, EVALUATING RELIABILI
[5]   A THEORETICAL BASIS FOR THE ANALYSIS OF MULTIVERSION SOFTWARE SUBJECT TO COINCIDENT ERRORS [J].
ECKHARDT, DE ;
LEE, LD .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1985, 11 (12) :1511-1517
[6]  
Gmeiner L., 1980, SAFETY COMPUTER CONT, P75
[7]  
GUENTHER WC, 1965, CONCEPTS STATISTICAL
[8]  
KELLY JPJ, 1982, THESIS U CALIFORNIA
[9]   AN EXPERIMENTAL EVALUATION OF THE ASSUMPTION OF INDEPENDENCE IN MULTIVERSION PROGRAMMING [J].
KNIGHT, JC ;
LEVESON, NG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1986, 12 (01) :96-109
[10]  
KNIGHT JC, 1985, DIG FTCS, V15, P135