Therac-25
The Therac-25 was a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) in the early 1980s. Between 1985 and 1987, it was involved in at least six accidents in which patients were given massive radiation overdoses— in some cases more than 100 times the intended dose—resulting in severe injuries and deaths. The accidents were caused by software bugs, specifically a race condition in the machine's control software that allowed the high-powered electron beam to fire without the proper scattering plate in place.
The Therac-25 case is a foundational text in software engineering and computer ethics because it exposed how software alone—without mechanical interlocks—could kill people. The machine reused software from earlier Therac models but eliminated hardware safety mechanisms that had previously prevented the same failure mode. Engineers at AECL initially dismissed reports of overdose as impossible, attributing them to patient anxiety or equipment malfunction elsewhere. The software's complexity exceeded the operators' and even the engineers' ability to understand its failure modes.
The accidents led to the first software-related product recall in history and became a canonical case study in the ethics of software-dependent safety-critical systems. They demonstrated that software correctness is not merely a technical property but a moral one: when software controls machines that can kill, bugs are not errors—they are injuries waiting to happen.