---
title: "Short note: software safety"
subject: "Software Engineering"
chapter: 7
key: "semester_5/software_engineering:software-safety"
source: https://www.bctengineer.com/q/semester_5/software_engineering/software-safety
site: BCT Engineering
---

# Short note: software safety

Software Engineering · Chapter 7: Verification and validation

- Asked in: 2068 Baishakh (old course), 5 marks
- Video: [Software safety in software engineering](https://www.youtube.com/watch?v=uy2XVj2rUVA) — Faiza Waseem
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/software-safety
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-7

## Question

Write a short note on 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.

## Answer

**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**
1. **Hazard avoidance**: design so the hazard cannot occur (e.g. a two-button interlock).
2. **Hazard detection and removal**: detect the hazard and act before an accident happens.
3. **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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Software safety is the ability of a system to ...
   A. run faster than its competitors
   B. operate normally or abnormally without causing harm to people, property or environment
   C. match its specification exactly
   D. use less memory
   Answer: B. Safety is about avoiding harm, which matters in aircraft control, medical devices and railway signalling. (Key point: Definition)

2. Why can a reliable system still be unsafe?
   A. Reliability always guarantees safety
   B. It matches its specification, but the specification may miss a hazard
   C. Reliable systems never fail
   D. Safety only depends on hardware
   Answer: B. Reliability means conforming to the specification. If the specification omits a hazard, the system can be reliable yet unsafe. (Key point: Safety vs reliability)

3. Which is an example of damage limitation?
   A. Designing so the hazard cannot occur
   B. Detecting a hazard and removing it before an accident
   C. Automatic shutdown or alarms to reduce the effect of an accident
   D. Writing a longer specification
   Answer: C. Damage limitation reduces the effect of an accident. Avoidance prevents the hazard, and detection and removal acts before the accident. (Key point: Ways to achieve safety)
