by Victoria Hilford, Michael R. Lyu, Bojan Cukic, Anouar Jamoussi, Farokh B. Bastani
In Proceedings of IEEE WORDS’97
http://www.cse.cuhk.edu.hk/~lyu/postscript/words97.ps
Add To MetaCart
Abstract:
Various methods have been proposed for building faulttolerant software in an effort to provide substantial improvements in software reliability for critical applications, such as flight control, air-traffic control, patient monitoring, or power plant monitoring. At execution time, the fault-tolerant structure attempts to cope with the effect of those faults that have survived the development process. The two best-known methods of building fault-tolerant software are n-version programming and recovery blocks. To tolerate faults, both of these techniques rely on design diversity, i.e., the availability of multiple implementations of a specification. Software engineers assume that the different implementations use different designs and, thereby, it is hoped, contain different faults. Our study uses a novel method of incorporating diversity in the development of one version of the software. We term this approach the pipeline method of software development. Its purpose is to eliminate as many software faults as possible before the testing phase. The method was applied to the specification of a real, automatic airplane-landing problem. The results of the pipeline development method are presented. 1.
Citations
|
425
|
System Structure for Software Fault Tolerance
– Randell
- 1975
|
|
162
|
An Experimental Evaluation of the Assumption of Independence in Multiversion Programming
– Knight, Leveson
- 1986
|
|
97
|
On the implementation of n-version programming for software fault tolerance during execution
– Avizienis, Chen
- 1977
|
|
85
|
N-version programming: A fault-tolerance approach to reliability of software operation
– Chen, Avizienis
- 1978
|
|
50
|
Distributed Execution of Recovery Blocks: An Approach for Uniform Treatment of Hardware and Software Faults in Real-Time Applications
– Kim, Welch
- 1989
|
|
45
|
Achieving software quality with testing coverage measures
– Horgan, London, et al.
- 1994
|
|
29
|
The evolution of the recovery block concept
– Randell, Xu
- 1995
|
|
28
|
Improving the N-Version Programming Process Through the Evolution of a Design Paradigm
– Lyu, He
- 1993
|
|
21
|
A Coverage Analysis Tool for the Effectiveness of Software Testing
– Lyu, Horgan, et al.
- 1994
|
|
19
|
The Methodology of N-Version Programming
– Avizienis
- 1995
|
|
18
|
In Search of Effective Diversity: A Six-Language Study of Fault-Tolerant Flight Control Software
– Avizienis, Lyu, et al.
- 1988
|
|
11
|
Fault-tolerant Software
– Hecht, Hecht
- 1986
|
|
10
|
Learning to Live with Uncertainty in our Software
– Littlewood
- 1994
|
|
6
|
On the Performance of Software Testing Using Multiple Versions
– Brilliant, Knight, et al.
- 1990
|
|
5
|
Software Reliability Measurements in N-Version Software Execution Environment
– Lyu
- 1992
|
|
4
|
Software diversity metrics and measurements
– Lyu, Chen, et al.
- 1992
|
|
3
|
Software requirements document for a faulttolerant flight control computer
– Lyu
- 1991
|
|
2
|
Sicking, "A review of research and methods for producing high consequence software
– Collins, Dalton, et al.
- 1995
|