A general definition for safety is the “freedom from those conditions that
can cause death, injury, illness, damage to or loss of equipment or property,
or environmental harm” [1]. The definition of safety-critical software is more
subjective. The Institute of Electrical and Electronic Engineers (IEEE) defines
safety-critical software as: “software whose use in a system can result in
unacceptable risk. Safety-critical software includes software whose operation
or failure to operate can lead to a hazardous state, software intended
to recover from hazardous states, and software intended to mitigate the
severity of an accident” [2]. The Software Safety Standard published by the U.S.
National Aeronautics and Space Administration (NASA) identifies software
as safety-critical if at least one of the following criteria is satisfied [3,4]:
1