An Algorithm for Improving System Safety via Software Fault Trees

Abstract

Analysis of software fault trees exposes hardware and software failure events that can lead to unsafe system states, and provides insight on improving safety throughout each phase of a system's development. Although fault trees can be pruned for low severity and low probability nodes, few techniques exist for systematically improving system safety by focusing on cost analysis of a system's fault tree nodes. In this paper, we present an algorithm for system failure mitigation, supportive of continuous software evolution, based on the reduction of a fault tree into a polynomial expression of degree g, where g is the number of inputs. We combine cost functions that model the expense of improving component reliability into a vector field which provides a measurement of the degree of difficulty of system improvement. The gradient of the vector field is evaluated for vectors providing steep assent towards the area of greatest safety improvement, which in turn provides guidance on improving design time system safety. We provide an example application of our improvement algorithm, and examine improvement verification of the resulting system modifications.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 26, 2005
Accession Number
ADA460495

Entities

People

  • Donald M. Needham
  • Sean A. Jones

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Computer Science
  • Computers
  • Cost Analysis
  • Costs
  • Information Operations
  • Mathematics
  • Reliability
  • Safety
  • System Safety
  • United States Naval Academy

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Parallel and Distributed Computing.
  • Systems Analysis and Design