Analysis of faults detected in a large-scale multi-version software development experiment
- 4 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 378-385
- https://doi.org/10.1109/dasc.1990.111318
Abstract
In a multiversion software experiment, twenty programs were built to the same specification of an inertial navigation problem. The programs were then subjected to a three-phase testing and debugging process: an acceptance test, a certification test, and an operational test. Less than 20% of the faults discovered during the certification and operational testing were nonunique, i.e. the same or very similar faults would be found in more than one program. However, some of these common faults spanned as many as half of the versions. Faults discovered during the certification testing were due to specification errors and ambiguities, inadequate programmer background knowledge, insufficient programming experience, incomplete analysis, and insufficient acceptance testing. Faults discovered during the operational testing were of a more subtle nature, and were mostly due to various programmer knowledge defects and incomplete analysis errors. Techniques that might have prevented the observed faults are discussed.Keywords
This publication has 5 references indexed in Scilit:
- A large scale second generation experiment in multi-version software: description and early resultsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- PODS — A project on diverse softwareIEEE Transactions on Software Engineering, 1986
- An experimental evaluation of the assumption of independence in multiversion programmingIEEE Transactions on Software Engineering, 1986
- A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident ErrorsIEEE Transactions on Software Engineering, 1985
- System structure for software fault toleranceIEEE Transactions on Software Engineering, 1975