IEEE Std-1228 (1994) defines software safety as “freedom from software hazard,” where software hazard is defined as “a software condition that is a prerequisite to an accident,” and an accident is defined as “an unplanned event or series of events that results in death, injury, illness, environmental damage, or damage to or loss of equipment or property”. Here we assume that the term “property” also includes intellectual property.
In another words, Safety is “the degree to which accidental harm is prevented, detected, and reacted to”. It is important to emphasize when we are speaking about Safety that the damages are unintentional.
Safety vs. Reliability
Engineers routinely assume that the more reliable a system is, the safer it is, and vice versa. This assumption is sometimes somewhat erroneous, while sometimes very erroneous and leads to a lot of confusion in systems failure analysis.
Actually, it is often true that the safer the system, the less reliable it is. Consider an elevator: The maximum level of safety is provided by an inoperative elevator—its doors won’t shut on you or your dog; pressing buttons won’t cause anything unsafe to happen. Enter the inoperative elevator, stay inside as long as you wish, exit it—you are 100% safe.
What about reliability? As the inoperative elevator is functionally ineffective, it’s absolutely unreliable and unavailable for moving you up and down to different floors of the building— its reliability is zero.
To improve the safety of a reliable (moving) elevator, designers add elements and controls that limit and even decrease the probability of its adequate operation. For example, a sensor that indicates proper door closure may be added. If the sensor is out of order, the elevator won’t move: reliability decreases while safety improves.
This trivial example demonstrates that in some cases there is an apparent contradiction between safety and reliability.
However, in many cases safety and reliability are in a full accord. This happens when proper straightforward functioning of a system (just without failures) is enough for both reliable and safe operation. For example, an elevator’s mechanical system: the more reliable the mechanical elements, the more reliable and safer the elevator.