В средата на 80-те години на XX век болници в САЩ и Канада използват апарат за лъчетерапия, известен като Therac-25. Машината е създадена за прецизно облъчване на тумори. При правилна работа тя трябва да насочи необходимата терапевтична доза към определена зона, като ограничи увреждането на околните тъкани. Между 1985 и 1987 г. обаче се случва поредица от тежки инциденти, които разкриват опасни дефекти в системата за управление.

Therac-25 използва компютър, за да управлява режимите на работа и движението на определени механични части. По-ранни апарати за лъчетерапия разполагат с независими хардуерни блокировки, които ограничават опасните ситуации дори ако програмата подаде неправилна команда. В новия модел част от защитата е поверена в по-голяма степен на софтуера. Това създава сериозен риск, когато се появят дефекти, които не са открити при тестовете.

Изследванията на инженерите Нанси Левесън и Кларк Търнър описват най-малко шест случая на тежко предозиране между юни 1985 и януари 1987 г. Пациенти получават много по-висока от предписаната радиационна доза, а последствията включват тежки травми и смъртни случаи. Ранните сигнали не винаги са разпознавани като системен проблем, което забавя мерките за предотвратяване на нови инциденти.

Част от софтуерните грешки са свързани с последователността и скоростта, с която операторът въвежда и редактира данни. При определени обстоятелства машината може да премине в опасно състояние, докато компютърната система дава непълна или неясна информация за това какво действително се случва. Подобен проблем е особено опасен в лъчетерапията, защото пациентът не може сам да прецени получената доза.

След поредицата от инциденти регулаторите изискват основни промени в конструкцията и управлението на апарата. Производителят трябва да подобри софтуера и да възстанови независими защитни механизми. През 1987 г. всички Therac-25 са временно изведени от експлоатация, докато не бъдат приложени мерки, които да ограничат възможността за повторение.

Историята на Therac-25 днес се изучава в инженерни и компютърни курсове като пример за опасностите от прекомерното доверие в една-единствена система. В медицинските технологии безопасността изисква независими проверки, ясни сигнали за отказ и внимателно разследване на всеки инцидент. Софтуерът може да контролира сложна машина, но не трябва да е единствената бариера между техническата грешка и тежкото увреждане на човешки живот.

Снимка корица: Official Navy Page from United States of America MC2 Todd Frantom/U.S. Marine Corps.
Снимка: U.S. GAO.