The quest for reliability: A case study
Abstract This article describes a project—the implementation of an Ada symbolic debugger—and the assurance activities involved in the project. We discuss the error data collected during the project and the statistical analysis performed to draw some conclusions on which relationships affect the error density of a component. In brief, we found that if we keep track of all errors, related changes, and tests throughout the life cycle, it is possible to prevent the corruption of earlier corrections and changes. Furthermore, neither reuse nor unit testing have any effect on error density. The main effect is simplicity, through high maintainability and low coupling to large, complex external libraries.