Between 1985 and 1987, a radiation therapy machine called the Therac-25 administered lethal radiation doses to at least six patients, killing several. The cause was a collection of software bugs in its control system — including a race condition in the user interface that, under specific timing conditions, allowed the machine to fire its electron beam without the safety hardware in place. The Therac-25 had removed hardware interlocks present in previous models on the assumption that software could substitute for them. It could not. The case became a foundational study in software engineering ethics, cited in textbooks ever since as evidence that concurrent programming errors kill people and that software cannot simply inherit trust from the hardware it replaces. The lesson has been learned, relearned, and occasionally forgotten again in the decades since.
Home The Therac-25: When a Race Condition Became a Murder Weapon






















