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

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

Therac-25

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

nenacitelinie-oshibki-prinescie-serioznie-posledstviya-2

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

Patriot

Во время Войны в персидском Заливе в 1991 году иракская ракета скад попала в американские казармы в Дахране, убив 28 человек и ранив более 100. Произошла трагедия несмотря на то, что безопасность базы берегли до 6 батарей системы ПРО Патриот. Объясняя данный случай следует подчеркнуть, не “Патриотбыл создан в 70-е годы для уничтожения советских ракет движущихся с большой скоростью. Сонымен қатар, теорияда, система должна была быть мобильный. Время непрерывной работы ожидалась в течении не более чем 8 сағат. По истечении этого срока она должна была быть отключена, перевозится и приводится снова в действие на новом месте.

Белгілі болғандай, в связи с длительным процессом активации системы (60-90 секунд), американские военные в Ираке использовали без перерыва их даже в течение 100 сағат. Это не было бы проблемой, если бы не тот факт, что система использовалась в процессе отслеживания вражеских ракет по измерению времени работы в секундах. Өкінішке орай, по определенным причинам, точность вычислений с плавающей точкой, выполняемой с этой целью, была далека от идеала. В результате, 1 секунда рассчитываемая через ПО не была равна фактической секунде. После 100 часов работы, система воспринимала 0,34 секунды за одну полноценную.

nenacitelinie-oshibki-prinescie-serioznie-posledstviya-3

Данной ошибки оказалось достаточно чтобы позволить пролететь летящей иракской ракете скад, қарамастан, что ее уловила система обнаружения, а затем и спутник в первой фазе прицеливания. Пользуясь неточным таймером, система ошибочно высчитала окно, в котором должна была появиться вражеская ракета на втором этапе обнаружения. Не найдя в нем ожидаемого объекта, Патриот не приняла никаких мер, посчитав что это ложная тревога. В результате допустив упомянутую трагедию. Официальная причина инцидентанеправильная эксплуатация системы Patriot. Батареи не были предусмотрены для работы по 100 часов без перерыва. Вина лежит также на стороне разработчиков, которые о производимом смещении времени узнали только незадолго до событий в Дахране.

Ariane-5

10 лет и 7 миллиард доллар. Столько же длился и стоил проект строительства ракеты Ariane-5, которая из-за ошибки в программном обеспечении распалась на глазах удивленных зрителей, после нескольких десятков секунд от старта. Европейское Космическое Агентство решило построить ракету- Көбірек, быстрее и лучше, чем ее предшественница. Именно это наследие повлияло на катастрофу.

Бұл шықты, что часть программного обеспечения новой ракеты было скопировано со старой. Во время полета одна из функций, полученных из Ariane-4 в новой ракете была совершенно излишней, и привела к ошибке. В ходе следствия выяснилось, что не было совершено тщательной проверки программного обеспечения для Ариан-4. Не было тестов и не проводилось моделирования программного обеспечения.

nenacitelinie-oshibki-prinescie-serioznie-posledstviya-4

Это только три примера, но они очень четко подчеркивают- что даже самые незначительные ошибки и упущения в процессе создания программного обеспечения могут привести к трагедии. Әрине, это неизбежно – никто из людей не является непогрешимым. Стоит только иметь в виду, что жертвами низкого качества кода- могут стать также люди. Это знание может мотивировать разработчиков к еще лучшей работе.

 

Мақаланы бағалаңыз
IT жаңалықтары