AN EXPERIMENTAL EVALUATION OF SOFTWARE REDUNDANCY AS A STRATEGY FOR IMPROVING RELIABILITY

被引:78
作者
ECKHARDT, DE
CAGLAYAN, AK
KNIGHT, JC
LEE, LD
MCALLISTER, DF
VOUK, MA
KELLY, JPJ
机构
[1] CHARLES RIVER ANALYT INC,CAMBRIDGE,MA 02138
[2] UNIV VIRGINIA,DEPT COMP SCI,CHARLOTTESVILLE,VA 22903
[3] OLD DOMINION UNIV,NORFOLK,VA 23508
[4] N CAROLINA STATE UNIV,DEPT COMP SCI,RALEIGH,NC 27607
[5] UNIV CALIF SANTA BARBARA,DEPT ELECT & COMP ENGN,SANTA BARBARA,CA 93106
关键词
FAULT-TOLERANT SOFTWARE; MULTIVERSION PROGRAMMING; N-VERSION PROGRAMMING; SOFTWARE RELIABILITY;
D O I
10.1109/32.83905
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The strategy of using multiple versions of independently developed software as a means to tolerate residual software design faults is suggested by the success of hardware redundancy for tolerating hardware failures. Although, as generally accepted, the independence of hardware failures resulting from physical wearout can lead to substantial increases in reliability for redundant hardware structures, a similar conclusion is not immediate for software. The degree to which design faults are manifested as independent failures determines the effectiveness of redundancy as a method for improving software reliability. Interest in multiversion software centers on whether it provides an adequate measure of increased reliability to warrant its use in critical applications. The effectiveness of multiversion software is studied by comparing estimates of the failure probabilities of these systems with the failure probabilities of single versions. The estimates are obtained under a model of dependent failures and compared with estimates obtained when failures are assumed to be independent. The experimental results are based on 20 versions of an aero-space application developed and independently validated by 60 programmers from 4 universities. Descriptions of the application and development process are given, together with an analysis of the 20 versions.
引用
收藏
页码:692 / 702
页数:11
相关论文
共 27 条