Reducing Uncertainty About Common-Mode Failures

Abstract

Multi-version programming is employed in fault tolerant computer systems in order to provide protection against common-mode failure in software. Multi-version programming involves building diverse software implementations of critical functions. The premise of building diverse versions is that the likelihood of a programming error in one version causing a failure in an identical manner as an error in another version is reduced. Skeptics of multi-version programming have correctly pointed out that common-mode failures between redundant diverse versions can reduce the return on investment in creating diverse versions. To date, other than using historical data from other projects, there has been no way to estimate the potential for a given multi-version programming system to suffer a common-mode failure. This paper presents an algorithm and software analysis prototype to reduce the uncertainty of whether software flaws in diverse versions can result in common-mode failure. The analysis uses software fault injection techniques to subject one or more versions to anomalous behavior. From this, we can predict how the software will behave if real faults exist in the multiple versions.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1997
Accession Number
ADA465215

Entities

People

  • Anup Ghosh
  • Frank Charron
  • Jeffrey Voas
  • Lora Kassab

Organizations

  • United States Naval Research Laboratory

Tags

Communities of Interest

  • Biomedical
  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Computer Programming
  • Computer Programs
  • Computers
  • Control Systems
  • Damage Detection
  • Detectors
  • Fail Safe
  • Failure Analysis
  • Failure Mode And Effect Analysis
  • Fault Tolerance
  • Flight Control Systems
  • Instrumentation
  • Monitoring
  • Reliability
  • Safety
  • Uncertainty

Fields of Study

  • Computer science
  • Engineering

Readers

  • Educational Psychology
  • Fault Tolerant Diagnosis of Black and White Balloon Isolation Tests Using ¥.
  • Software Engineering.