Незначительная ошибка в программном обеспечении и серьезные последствия

Результатом ошибки в программном обеспечении может быть, например, синий экран смерти. Однако это еще хорошая версия. Может потому, что они также приводят к более тяжелым последствиям, включая такие, потери человеческих жизней и миллиарды долларов. И искать слишком далеко примеры. Ответственный за тесты безопасности в LogicalTrust Матфей Козельски утверждает, что „ошибки есть везде, потому что программное обеспечение окружает нас всюду” и перечисляет несколько примеров, в которых незначительные упущения разработчиков привели к катастрофическим последствиям. И казалось бы, это всего лишь желание сэкономить время или у них было простое отсутствие фантазии.

Therac-25

Между 1985 и 1987 годом. 6 человек получили ожоги в результате облучения аппаратом Therac-25. Трое из них умерли в результате несчастного случая. В ходе первого инцидента, в результате которого пациентка потеряла грудь, оказалось, что автомат отобразил команду «ОК» и предоставив в 100 раз большую дозу радиации, чем следовало из задания. Производитель, корпорация AECL признала, что это невозможно и не было принято никаких мер. В том же 1985 году – другая неисправная машина, показала сообщение об ошибке и продолжила облучение. Оператор, не знающий свое устройство, принудил к выполнению процедуры. Машина в пять раз предпринимала попытку прервать операцию, после чего совсем отказалась подчиняться. 3 месяца спустя, пациент, который принимал участие в операции, скончался в связи с осложнениями облучения.


AECL очень долго отрицала вину, признавая, что нет возможности, чтобы Therac-25 выбрал неправильную дозу или сделал облучение. Несмотря на это, причинение ожогов при ее использовании каснулось еще нескольких человек, а дело передано в суд. В ходе судебного разбирательства, представитель AECL признался, что „небольшое число” тестов устройства попало на рынок. Как оказалось, автомат, стоящий более 1 млн долларов, был оснащен программным обеспечением, созданным одним лицом. Несчастные случаи стали возможными в результате двух мелких упущений разработчика. Однако в целом, хватило одной, очень важного строки кода, которая составляла несколько десятков символов. С другой стороны, ошибка с большой вероятностью была бы исправлена перед внедрением продукта на рынок, если бы была проведена тестовая процедура.

Источник: Wheel Systems

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *