Software Safety Project

In recent years, advances in computer technology have gone hand-in-hand with the introduction of computers into new application areas. The problem of safety has gained importance as these applications have increasingly included computer control of systems where the consequences of failure may involve danger to human life, property, and the environment such as commercial and military aircraft and other transportation systems, nuclear power plants, medical devices, weapon systems, air traffic control, and aerospace systems.

Software safety involves the ability of real-time and process-control software to avoid hazardous system states. To achieve this, safety techniques must be developed and integrated into all phases of software development. Although system engineers have developed procedures to deal with hazards in electro-mechanical systems, the introduction of computer control into these systems has created new and unsolved problems both for system engineers and for software engineers. The general approach of this project is to apply some of the same techniques used by system safety engineers for hardware components but to adapt them to software.

Current and recent projects include methods for performing software hazard analysis (identifying software hazards using formal models of the system), formal completeness criteria and analysis procedures for real-time software requirements specifications, experimental evaluation of fault-tolerance methods, software design techniques to enhance safety, and safety verification techniques.

Principle Investigator: Nancy Leveson

webmaster@cs.washington.edu