Рубрики
Business Software quality

Самая большая ошибка человечества

Много раз катастрофы с человеческими жертвами происходили из-за того, что программное обеспечение было слеплено криворукими говнокодерами.

Чуть случается нетипичная ситуация, шаг влево-вправо от инструкции – и софт начинает вытворять с техникой нечто такое, что даже перевод в режим ручного управления уже не поможет. Вот скажите, отказ одного из двух датчиков должен привести к падению самолёта?

     Когда начинались компьютеры (а я уже в те времена уже находился во вменяемом возрасте и ездил в Ленинскую библиотеку (г.Москва) читать журнал Electronics), они были настолько экзотическими устройствами, что программы для них разрабатывали сами пользователи, а профессия разработчика программ называлась «математик-программист». При чём тут математика, никто сейчас понять не может. А пошло это ещё от аналоговых вычислительных машин, которые решали системы интегральных уравнений. Вот там математика была нужна. Вы, наверное, тихо офигеете (кто в теме), но я разрабатывал аналоговый вычислитель на первых интегральных операционных усилителях.

Пока сами пользователи разрабатывали программы, естественно, они сами делали в них ошибки и сами за них расплачивались. Пролетел спутник мимо Луны из-за одной неправильно написанной строчки на Фортране – претензии предъявлять было некому, кроме как себе любимому.

Потом программное обеспечение стало товарным продуктом и его начали продавать. Но всё же, без него можно было обойтись, и поэтому те, кто покупали программы, давали своё добровольное согласие стать подопытным кроликом. За свои же деньги (как я стал им в своё время с Windows 1.0), потому что в лицензионном соглашении оговаривалось условие полного отсутствия какой-либо ответственности разработчика за ошибки в программе. Да, собственно, Windows 1.0 и не работала – это был такой фэйк (фикция) для шибко продвинутых гиков. Разводка на деньги красивой идеей.

Шли годы, и лицензионные соглашения с течением времени изменялись. В сторону нет, не ответственности разработчика за ошибки в программе, а в сторону бесправия пользователя. Сегодняшние лицензионные соглашения уже никто не читает, чтобы не расстраиваться, увидев право производителя поиметь всю информацию пользователя и его самого в особо извращенной форме (см. лицензионное соглашение Windows 10, например).

А что же с ответственностью разработчика? Её как не было, так и нет. А компьютеры, и соответственно, софт для них тем временем стали использоваться не только для ведения электронных таблиц, но и в разных довольно критических для жизни человека местах – для управления энергетикой, оружием, поездами и самолётами. Много раз катастрофы с человеческими жертвами происходили из-за того, что программное обеспечение было слеплено криворукими говнокодерами.

Чуть случается нетипичная ситуация, шаг влево-вправо от инструкции – и софт начинает вытворять с техникой нечто такое, что даже перевод в режим ручного управления уже не поможет. Вот скажите, отказ одного из двух датчиков должен привести к падению самолёта? А ведь это реальность. Программа не рассчитывала на такой поворот событий и стала выдавать пилотам совершенно дикие показания приборов. (В обтекаемых фразах, отредактированных отделом PR, это будет звучать примерно так: «вводящие в заблуждение сигналы включающегося и выключающегося предупреждения о сваливании, противоречащие реальному пространственному положению самолёта, могли стать факторами, значительно затруднившими анализ ситуации экипажем»).

Да те же банковские программы – сколько раз в месяц вы видите предложение срочно обновить приложение из-за «обнаружения критической уязвимости»? Как правило, «критическая уязвимость» есть результат применения Agile (http://bit.ly/2jI4GMJ) и выявляется после того, как со счетов клиентов были украдены сотни миллионов денег.

И что, хоть раз посадили лет на двушечку разработчика или заставили банду говнокодеров компенсировать убытки? Сами знаете, что нет. Потому что в лицензионном соглашении вы сами согласились освободить разработчика от какой-либо ответственности.

Естественно, как и всегда, отсутствие ответственности за чужие потери стимулирует к сокращению затрат на тестирование и разработку методик обеспечения надёжности программ. Майерс с его фундаментальной книгой «Надёжность программного обеспечения» забыт намертво.

И сейчас мы подошли к той критической черте, когда вся наша жизнь определяется софтом, в котором количество ошибок увеличивается с каждым годом геометрически, и критичность сфер применения ПО – тоже. (http://bit.ly/2i9Gd3a)

Так вот, сдаётся мне, джентльмены: пока государства не введут законы об ответственности разработчиков за потери пользователей программ от разгильдяйства разработчиков (хотя бы для критических предложений), самой главной опасностью для нашего с вами существования будут ошибки ПО. Вы уверены, что завтра из-за ошибки в программе в вас не полетит весь арсенал ядерных ракет США или России? Мы все со страшной скоростью влетаем в жизнь, которой управляют программы, разработанные полоумными говнокодерами.

Дополнения.

   20.09.2018   AI Systems Quietly Take Full Control Of Human Destiny” – и вот, что называется, ещё до одного дошло. Когда в стену лбом. С размаху.В переводе на наш: “Системы искусственного интеллекта потихоньку берут в свои руки судьбу человека”

     Цитата: “John Naish recounts an anecdote where, because he was once a motoring journalist, the AI software at his insurance company decided he was likely to know Jeremy Clarkson, and therefore might give him a lift in his car and drive dangerously. His insurance application was rejected! And of course, he complained but was told that given the same “Automated Decision Engine” was used across the industry, he was going to be screwed for insurance all over.”

В переводе на понятный. Парень захотел застраховать машину. Но поскольку он автомобильный журналист, система AI решила, что он может быть знаком (заметьте: может быть!) с другим журналистом, который пропагандирует слишком резвую езду на машинах. И поэтому система решила, что не стоит продавать ему страховой полис. ПНХ. А поскольку страховые компании обмениваются рейтингами клиентов, то его послали ПНХ и все остальные страховые компании. Всё. Сказке конец. На букву П.

19.07.2018 “Бельгия закрыла аэропорты для взлёта и посадки самолётов из-за сбоя”. “Этож Agile”! (перефраз “ониждети”). Пользователь должен активно вовлекаться в процесс разработки софта, гласит один из принципов Агили. Как, интересно, пользователь будет вовлекаться в процесс тестирования софта стратегических ракет?

1. http://bit.ly/2qaqD9P

2. http://bit.ly/1UkOCfB

3. Только для гурманов: http://govnokod.ru

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

%d такие блоггеры, как: