- 2068 Baishakh (old course) · 5 marks
Short note: software safety
Short answer
Software safety is the ability of a system to operate without causing harm to people, property, or environment, crucial in safety-critical systems. It involves hazard avoidance, detection, and damage limitation. Safety engineering includes hazard analysis, fault tree analysis, and building a safety case to argue acceptable safety.
Write a short note on software safety.
Software safety is the ability of a software-controlled system to operate, normally or abnormally, without causing harm to people, property or the environment. It matters in safety-critical systems such as aircraft control, medical devices (insulin pumps, radiotherapy machines) and railway signalling.
Key terms
- Hazard: a condition that could lead to an accident (e.g. insulin overdose).
- Accident (mishap): an unplanned event causing harm.
- Risk: combination of hazard probability and severity.
Safety is different from reliability: a reliable system matches its specification, but if the specification misses a hazard, the system can be reliable and still unsafe.
Ways to achieve safety
- Hazard avoidance: design so the hazard cannot occur (e.g. a two-button interlock).
- Hazard detection and removal: detect the hazard and act before an accident happens.
- Damage limitation: reduce the effect of an accident (e.g. automatic shutdown, alarms).
Safety engineering activities: hazard identification and analysis, fault tree analysis, safety requirements specification, defensive programming, formal verification, safety reviews and a safety case that argues the system is acceptably safe. The Therac-25 radiation overdoses showed that software faults in such systems can be fatal.
✓ Answer checked by Claude Opus 5.5 (high effort)