13 сентября в России отмечается День программиста. В современном мире практически все, что нас окружает, было создано так или иначе с участием людей этой профессии. Но иногда в дело включается так называемый человеческий фактор, и в результате даже маленькой ошибки происходят невосполнимые потери.
История знает немало подобных примеров. Цена программных ошибок иногда исчисляется не только миллионами долларов, но и, к сожалению, человеческими жизнями.
SmartNews составил рейтинг самых дорогих ошибок в истории программирования.
Видео
Профессия — программист
Сюжет телеканала ОТС на YouTube
1962 ГОД РАКЕТА МАРИНЕР-1. ПОТЕРИ: 18,5 МЛН ДОЛЛАРОВ
В то время технологии программирования были не так совершенны, как в настоящее время, когда весь процесс идет на мощнейших компьютерах. При этом ошибки сводятся практически к нулю, но в любом случае машиной управляет человек, и они могут появиться. В июле 1962 года такая ошибка была допущена. Позднее издание «Нью-Йорк Таймс» назовет это самым дорогим дефисом в истории.
Тогда программист допустил одну-единственную ошибку, переводя рукописную формулу в компьютерный код. Символ верхнего тире, или индекса, он воспринял за обычное тире или знак минус. К сожалению, за этим знаком скрывалась специальная функция, без которой программное обеспечение компьютера воспринимало вполне нормальные вариации скорости ракеты как критические и недопустимые, что и привело к печальному результату.
Этого могло и не случиться, если бы антенна аппарата не потеряла связь с наводящей системой на Земле. В результате управление взял на себя бортовой компьютер, программа которого и содержала роковую ошибку.
1978 ГОД СТАДИОНА ХАРТФОРД КОЛИЗЕЙ. ПОТЕРИ: 90 МЛН ДОЛЛАРОВ
18 января 1978 года от смерти десятков тысяч фанатов отделяли всего несколько часов. После того как болельщики покинули стадион «Хартфорд Колизей», его многотонная стальная крыша рухнула на трибуны.
Причина случившегося крылась в программном коде. Компьютерщик, закладывая прочность балок, поддерживающих крышу, учел только сам вес этой конструкции. Он не принял во внимание, что на крышу могут влиять и другие нагрузки, такие как мокрый снег. Он-то и послужил причиной обрушения. Одна из опор неожиданно прогнулась под воздействием снега, это вызвало цепную реакцию, которая сложила всю конструкцию вместе с другими участками крыши как костяшки домино.
Фото: fkceng.com
1985 МЕДИЦИНСКИЙ АППАРАТ. ПОТЕРИ: 3 ПОГИБШИХ И 3 РАНЕНЫХ
Нередко цена ошибки программиста измеряется не денежными единицами, а человеческими жизнями. При проектировании аппарата лучевой терапии Therac-25 как раз и бала допущена такая оплошность. В итоге, из-за неисправности аппарата несколько пациентов получили смертельные дозы облучения во время медицинского обследования в Канаде.
1987 «ЧЕРНЫЙ ПОНЕДЕЛЬНИК». ПОТЕРИ: 500 МЛРД ДОЛЛАРОВ ЗА ОДИН ДЕНЬ
19 октября 1987 года — эту дату навсегда вписали в историю как «черный понедельник». Это был настоящий крах. В октябре 1987 года многие инвесторы решили выйти из игры, чтобы спокойно подождать прихода более стабильных времен и условий ведения бизнеса, но сам процесс этого «исхода» нельзя назвать спокойным, биржевые игроки стремились избавиться от акций и облигаций, пытались как можно скорее сбросить их со своих рук.
Это породило панику на бирже. Поскольку инвесторы обратились в массовое бегство, компьютерная программа биржевой торговли начала генерировать поток ордеров на продажу, рынок зашатался и… рухнул, последовал сбой системы, который сделал инвесторов слепыми, фактически в эти часы они не могли что-либо контролировать и влиять на ситуацию, они не знали, что они продают и по какой цене.
1990-Е ГОДЫ ОПЕРАЦИЯ «БУРЯ В ПУСТЫНЕ». ПОТЕРИ: 10 ЧЕЛОВЕЧЕСКИХ ЖИЗНЕЙ.
Американские военные не могли понять, почему ракеты-перехватчики иракских ракет, часто пролетают мимо. Лишь спустя некоторые время корень проблемы был найден – ошибка затаилась в программе, загруженной в компьютеры зенитно-ракетного комплекса. Оборудование создавалось с расчетом на то, что будет непрерывно работать не более 14 часов, но на практике оказалось все 100 и более.
Таким образом, используемое для определения времени ПО накапливало ошибки — разница в 0,34 секунды. Никому бы и в голову не пришло посчитать такой временной промежуток существенным. Программистам, к сожалению, тоже. Ценой этой ошибки стали десятки человеческих жизней.
Фото: blog.lib.umn.edu
1996 ВЗРЫВ РАКЕТЫ ARIANE. ПОТЕРИ: 500 МЛН ДОЛЛАРОВ.
Первый запуск новой ракеты-носителя Ариан 5, разработанной Европейским космическим агентством, был произведен 4 июня 1996 года. Запуск окончился неудачей — ракета разрушилась на 39-й секунде полета из-за неверной работы бортового программного обеспечения. Этот неудачный запуск стал одной из самых дорогостоящих компьютерных ошибок в истории.
В системе управления полетом новой ракеты Ариан 5 использовались фрагменты программного обеспечения ракеты Ариан 4, в частности системы инерциальной навигации. Однако при переносе этой системы для использования на новой ракете, разработчиками не были учтены все особенности. Из-за другой траектории выведения ракеты на 30-й секунде после запуска значение горизонтальной скорости превысило установленные в программе ограничения и вызвало сбой в работе компьютера.
Это привело к выдаче ложной команды на отклонение сопел ускорителей, а позже и основного двигателя. В результате на 39-й секунде полета ракета стала разрушаться под действием аэродинамических сил и самоуничтожилась. При использовании этой программы на ракете Ариан 4 сбоя не происходило из-за отличий в характеристиках траектории полета (для Ариан 4 такое поведение было правильным).
Фото: militaryparitet.com
2005 ФБР. ПОТЕРИ: 105 МЛН ДОЛЛАРОВ.
Даже такая крупная и надежная структура, как Федеральное Бюро Расследований США, пострадала в результате компьютерной ошибки. Четыре года в агентстве успешно работала система «Трилогия», которая позволяла сотрудникам делиться разной информацией друг с другом. Огромный виртуальный проект сломался во время попытки модернизации и капитального ремонта. Причина оказалась в нерациональном планировании и попытке построить долгосрочный проект на технологиях, которые устарели прежде, чем проект был завершен, в результате система получилась чересчур сложной и непригодной для использования.
2011 ФОБОС-ГРУНТ. ПОТЕРИ: 5 МЛРД РУБЛЕЙ.
Фобос-Грунт был запущен 9 ноября 2011 года, однако в результате нештатной ситуации, когда не произошло расчётного срабатывания маршевой двигательной установки перелётного модуля, межпланетная станция не смогла покинуть окрестности Земли, оставшись на низкой околоземной орбите. 15 января 2012 года АМС сгорела в плотных слоях земной атмосферы.
Комиссия пришла к выводу, что наиболее вероятной причиной могла стать ошибка, допущенная в ходе программирования бортового вычислительного комплекса станции.
Видео
«Фобос-Грунт». Как должно было быть
Видео: Dmitriy Kozubskiy на YouTube
1 комментарий к материалу.