В 1980-е годы мир столкнулся с трагедией, связанной с работой медицинского аппарата Therac-25. Это устройство, созданное для лучевой терапии при лечении онкологии, стало символом опасностей неразумной доверенности программному обеспечению в критически важных системах.
Therac-25 считался революционным устройством для лечения рака, способным к подаче контролируемых доз радиации. Однако всего за пару лет его эксплуатации были фиксированы критические ошибки, приведшие к смертельным ошибкам в работе прибора.
Ошибки были связаны с программным обеспечением. Вместо контроля и предотвращения подачи слишком высокой дозы радиации система в ряде случаев неверно интерпретировала действия оператора. В результате пациенты получали дозы, в сотни раз превышающие допустимые нормы.
Выявленные ошибки были совершенно программными: дефекты в коде, недостаточное тестирование и недостаточное внимание к человеко-машинному интерфейсу. Операторы видели коды ошибок, но не получали четких инструкций или предупреждений о смертельной опасности.
Этот случай имел серьезные последствия для индустрии. Были введены новые стандарты верификации и тестирования критически важного ПО и оборудования. В мире были созданы нормы, требующие строгой проверки любого медицинского устройства.