An experiment in software fault elimination and fault tolerance
Thesis/Dissertation
·
OSTI ID:6596486
Three primary approaches have been taken in developing methods to improve software reliability: fault avoidance, fault elimination and fault tolerance. This study investigates the error detection obtained by application of two of these approaches, fault tolerance and fault elimination, on a set of independently developed versions of a program. Different fault detection techniques following each approach are used to provide a broad exposure of each approach on the versions. The fault detection techniques chosen were multi-version voting, programmer-inserted run-time assertions, testing, code reading of uncommented code by stepwise abstraction and static data flow analysis. Voting and run-time assertions are most commonly associated with fault tolerance. Testing, code reading and static data flow analysis are most commonly associated with fault elimination. After application of the techniques following each approach, the errors detected and the circumstances of detection were analyzed as a means of characterizing the differences between the approaches. The results of this study provide insight on a series of research questions. The results demonstrate weaknesses in the fault tolerance approach and specifically in the multi-version voting method. In particular, the results demonstrate that voting of untested software may produce an insufficient improvement in the probability of producing a correct result to consider such use in systems where reliability is important. Voting is not to be a substitute for testing. Examination of the faults detected in this experiment show that the majority of faults were detected by only one technique. The results of this study suggest a series of questions for further research. For example, research is needed on how to broaden the classes of faults detected by each technique.
- Research Organization:
- California Univ., Irvine, CA (USA)
- OSTI ID:
- 6596486
- Country of Publication:
- United States
- Language:
- English
Similar Records
Structure design for fault tolerant distributed programs
Reconfigurable fault-tolerant multiprocessor system for real-time control
Application layer techniques for hardware and software fault tolerance
Thesis/Dissertation
·
Tue Dec 31 23:00:00 EST 1985
·
OSTI ID:6742437
Reconfigurable fault-tolerant multiprocessor system for real-time control
Thesis/Dissertation
·
Tue Dec 31 23:00:00 EST 1985
·
OSTI ID:6891637
Application layer techniques for hardware and software fault tolerance
Conference
·
Mon Dec 30 23:00:00 EST 1996
·
OSTI ID:501666
Related Subjects
99 GENERAL AND MISCELLANEOUS
990200* -- Mathematics & Computers
990300 -- Information Handling
COMPUTER ARCHITECTURE
COMPUTER CALCULATIONS
COMPUTERIZED CONTROL SYSTEMS
CONTROL SYSTEMS
DATA ANALYSIS
DATA PROCESSING
DATA-FLOW PROCESSING
DETECTION
ERRORS
INFORMATION SYSTEMS
PERFORMANCE TESTING
PROCESSING
PROGRAMMING
SYSTEMS ANALYSIS
TESTING
990200* -- Mathematics & Computers
990300 -- Information Handling
COMPUTER ARCHITECTURE
COMPUTER CALCULATIONS
COMPUTERIZED CONTROL SYSTEMS
CONTROL SYSTEMS
DATA ANALYSIS
DATA PROCESSING
DATA-FLOW PROCESSING
DETECTION
ERRORS
INFORMATION SYSTEMS
PERFORMANCE TESTING
PROCESSING
PROGRAMMING
SYSTEMS ANALYSIS
TESTING