Найти в Дзене
PROFILES

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

Оглавление

Ошибки в программировании способны нанести не только финансовый ущерб, но и физический. Халатность и невнимательность приводят порой к непоправимым последствиям и могут стоить человеку жизни.

1: Мусор или животное? Человек!

Элаи Херцберг – первая женщина в истории, погибшая под колесами автомобиля-беспилотника. В марте 2018 года такси компании Uber везло своего пассажира и вовремя заметило преграду. Сначала машина определила её как мусор, затем приняла за животное, но вот поняла, что перед ней человек, слишком поздно. Между ними оставалась пара метров, автомобиль затормозить не успел, а водитель не следил за дорогой. 

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

2: Роботы скорой помощи

В 1992 году служба скорой медицинской помощи в Лондоне заменила операторов, распределяющих маршруты, на компьютерную программу. Система приступила к работе без предварительного тестирования, а также с 81 багом. Дешевое оборудование не справилось с нагрузкой и сломалось уже через два часа активной работы. Результат – ошибки в распределении и около 40 погибших. 

3: Когда интуиция спасает мир

В данном примере никто не погиб, но случай показательный. В 1983 году, в самый разгар холодной войны между СССР и США, Станислав Петров был на посту в штабе антиракетной обороны. В соответствии с Двойным решением НАТО, ракеты враждующих страны были направлены друг на друга. И как только одна страна выпустила бы ракеты, вторая незамедлительно ответила тем же.

Когда Петров выполнял свои обязанности и следил за системой раннего обнаружения, на экране высветились ракеты, летевшие со стороны США. Петров был должен дать отмашку для ответного удара. Но он этого не сделал, потому что так подсказывала его интуиция.

Как оказалось, он все сделал правильно. В ходе расследования выяснилось, что ракеты были простым отражением солнечных лучей от спутника на орбите. Если бы за ответный удар отвечала машина, не факт, что вы бы сейчас читали этот текст.

4: ПО решает все

Ариан-5 – это ракета-носитель, задача которой – выводить оборудование на орбиты. На разработку потратили семь миллиардов долларов США. Но ракете не удалось выполнить свое предназначение – она упала через 4 секунды после старта. 

Проблема оказалась в том, что модуль системы попытался произвести конвертацию 64-битного числа в 16-битное. Число оказалось больше, чем было свободной памяти у модуля, и он перестал функционировать. 

Но инженеры предугадали такой исход и поставили второй модуль, который взял бы на себя управление в случае смерти первого. Однако на дублирующем модуле стояла точно такая же версия ПО, поэтому он повторил судьбу своего предшественника.

5: Свободу заключенным!

В Калифорнии в 2011 году был использован скрипт, который анализировал дела заключенных и выбирал самых неопасных. Это было необходимо для освобождения места в тюрьмах.

Но программа выбирала не только по качеству информации, но и по количеству. Логика проста – мало информации, значит, мало и опасности. Но скрипт не учитывал, что многие преступники состояли в бандах и картелях, потому и известно о них немного. 

Именно так более четырехсот опасных заключенных оказались на свободе раньше положенного срока.

Ошибки и невнимательность при написании программ не всегда приводит к гибели, но рисковать не стоит. Подписывайтесь на канал, чтобы узнавать еще больше интересных фактов!