Известные ошибки в программе

Содержание

Досадные ошибки в программном обеспечении могут стоить компаниям очень дорого и даже ставят под угрозу существование их бизнеса. Однако ошибки, которые допускает сам «бизнес», влияют на судьбу ИТ-индустрии и судьбы целых поколений.

Первый баг был зафиксирован 9 сентября 1945 года: в вычислительной машине Mark II Aiken Relay Calculator нашли мотылька, застрявшего между контактами электромеханического реле, что приводило к ошибкам. Извлеченное насекомое было вклеено в технический дневник с сопроводительной надписью: «First actual case of bug being found». Этот забавный факт и положил начало использованию слова «баг» в современном значении.

Читайте также:
Программа большая птица отзывы

Ракета «Маринер-1»: ущерб в 18,5 млн долларов

21 июля 1962 с Мыса Канаверал был произведен запуск ракеты-носителя «Атлас», несущей аппарат «Маринер-1», который должен был отправиться к Венере. Через несколько минут после взлета ракета отклонилась от курса и была подорвана из соображений безопасности.

Как ИСПРАВИТЬ ЛЮБЫЕ ОШИБКИ Windows 10 в программе FixWin10

Фото: NASA

«Инженеры, проанализировавшие записи телеметрии, вскоре обнаружили, что причиной послужили две независимых ошибки. Антенна ведения на „Атласе“ была изготовленна некачественно, с параметрами ниже заявленных. Когда получаемый ракетой сигнал стал слабым и зашумленным, ракета потеряла привязку к сигналу с Земли, посредством которого передавались команды поворота.

Такая возможность была предусмотрена; в случае потери сигнала радиоведения бортовой компьютер должен был игнорировать сигналы с неисправной антенны и выполнять собственную программу, которая, возможно, смогла бы обеспечить успешный запуск. Однако, в этот момент проявилась вторая ошибка. Каким-то образом в программе ведения оказался пропущенным дефис, что привело к некорректному управлению ракетой — уходу влево и опусканию носа. Дефис был пропущен и во время предыдущих успешных запусков „Атласа“, но эта часть программы не использовалась, т.к. не происходило разрыва радиосвязи. Таким образом, первая попытка Штатов осуществить межпланетный перелет потерпела крах из-за пропущенного дефиса.» (Oran W. Nicks, NASA, 1985)

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

Cтадион «Хартфорд Колизей»: ущерб в 90 млн долларов

18 января 1978 года болельщики чудом избежали смерти на стадионе «Хартфорд Колизей». Через несколько часов после того, как они покинули стадион, его стальная крыша рухнула на трибуны.

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

Поиск и устранение всех ошибок Windows. Как исправить ошибку?

15 января 1990 года ошибка в новой версии прошивки междугородних коммутаторов привела к сбою 114 коммутаторов

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

Все началось с падения и перезагрузки коммутатора в Нью-Йорке, который вызвал масштабную цепную реакцию, в результате которой 114 коммутаторов перезагружались непрерывно каждые 6 секунд. Сначала компания обвиняла хакеров, однако позже выяснилось, что причиной стала одна неверная строка кода, в которой реализовывалась отправка сигнала.

Баг в процессоре Pentium: ущерб в 475 миллионов долларов

В 1994 году профессор математики Линчбургского колледжа Томас Найсли обнаружил баг в популярном процессоре Pentium и опубликовал об этом статью.

Ошибка Pentium FDIV — это ошибка в модуле операций с плавающей запятой в оригинальных процессорах Pentium, выпускавшихся фирмой Intel в 1994 году. Ошибка выражалась в том, что при проведении деления над числами с плавающей запятой при помощи команды процессора FDIV в некоторых случаях результат мог быть некорректным.

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

Компания Intel в ответ на это замечание заявила, что готова заменять процессоры по требованию пользователей, которые смогли бы доказать, что пострадали в результате этой ошибки.

По прогнозам Intel, вероятность её возникновения была столь низкой, что подавляющее большинство пользователей даже не заметили бы её. Однако возмущённые клиенты потребовали заменить процессоры всем желающим. Финансовые потери Intel в результате составили около 475 миллионов долларов.

Ракета Ariane 5: ущерб в 8,5 млрд долларов

4 июня 1996 года случился неудачный запуск ракеты-носителя Ariane 5, которая была разработана Европейским космическим агентством. Ракета разрушилась на 39-й секунде полета из-за неверной работы бортового программного обеспечения. Эта история запомнилась, как одна из самых дорогостоящих компьютерных ошибок.

В системе управления полетом новой ракеты Ариан 5 использовались фрагменты программного обеспечения ракеты Ариан 4, в частности системы инерциальной навигации. Однако при переносе этой системы для использования на новой ракете, разработчиками не были учтены все особенности. Из-за другой траектории выведения ракеты на 30-й секунде после запуска значение горизонтальной скорости превысило установленные в программе ограничения и вызвало сбой в работе компьютера.

В результате ракета получила ложную команду на отклонение сопел ускорителей, а позже и основного двигателя. На 39-й секунде полета ракета стала разрушаться под действием аэродинамических сил и самоуничтожилась.

Программное обеспечение, установленное на борту Ariane 5, было разработано для более ранней модели – Ariane 4. Более мощный двигатель Ariane 5 спровоцировал баг, не встречавшийся в предыдущих версиях ПО.

В сущности, программа попыталась записать 64-разрядное число в 16-разрядное пространство. Возникло переполнение, в результате которого отказал и основной, и резервный компьютер (поскольку на обоих компьютерах выполнялись одни и те же программы).

На разработку Ariane 5 было потрачено около 8 миллиардов долларов. Общая стоимость спутников, которые должна была вывести на орбиту эта ракета, составляла 500 миллионов долларов.

Cпутник «Mars Climate Orbiter»: ущерб в 125 млн долларов


Из-за фатальной ошибки аппарат оказался слишком близко к поверхности Марса.

Аппарат летел к Марсу 9 месяцев. Mars Climate Orbiter 23 сентября 1999 года должен был выдать тормозной импульс и перейти на высокоэллиптическую орбиту с периодом 14 часов, а затем в течение двух месяцев с помощью ряда аэродинамических маневров в верхней атмосфере Марса довести орбиту до круговой. В расчетное время на высоте 193 км аппарат включил двигатели на торможение. Через 5 минут MCO запланировано ушел за Марс и больше никаких сигналов с него не поступало. Из анализа данных было предположено, что аппарат прошел над поверхностью Марса на высоте 57 км вместо расчетных 110 км и распался в атмосфере.

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

Бизнес-ошибки в ИТ

Часто возникают вопросы — отчего в мире информационных технологий некоторые крупнейшие сделки так и остаются нереализованными, а самые перспективные продукты не развиваются? Обычно причина в том, что их лидеры не могут предугадать будущее развитие событий.

А ведь события могли сложиться так, что не появились бы ни Microsoft, ни Apple. В альтернативном мире главным поисковым сервером был бы не Google, а Yahoo. Самым распространенным компьютером был бы Xerox, самой популярной социальной сетью – CompuServe. А музыку мы слушали бы через RealPod.

Спасение Apple

В конце 1990-х годов продажи компьютеров Apple Mac существенно снизились. Этому способствовали более дешевые конкуренты – Power Computing и Radius. Цена акций Apple упала до $5. Но неожиданно помощь пришла от Microsoft: помощь в размере $150 миллионов. Кроме того, Microsoft пообещала продолжить разработку своего пакета офисных программ для MacOS.

Читайте также:
Как звонить с компьютера программа

Из-за такого решения Microsoft лишила себя определенных перспектив. Вполне возможно, сегодня на рынке царили бы WinPhone, музыку на них мы бы качали через WinTunes. А все пользователи до сих пор с нетерпением ожидали бы выхода достойной альтернативы Windows.

Потерянный рынок

В середине 1990-х годов, еще до появления Google, самой продвинутой поисковой машиной была даже не Yahoo, не AltaVista, не Lycos или Hot Wired. Система Open Text, как и Google сегодня, работала максимально быстро, точно, охватывая весь объем информации. В 1995 году менеджеры компании Open Text небезосновательно утверждали, что их система смогла проиндексировать каждое слово из 5 миллионов документов, которые на тот момент и составляли Всемирную сеть.

Однако в 1997 году разработчики Open Text посчитали рынок поиска недостаточно перспективным и занялись системами управления корпоративными данными. Ну а через год появилась компания Google, которая показала, что они ошибались на счет перспектив этого рынка.

Ситуация могла сложиться иначе, а сам Google мог бы не занимать сейчас лидирующую позицию. Скорее всего, сервисы работы с информацией в Интернете были бы другими.

CompuServe и упущенное лидерство

CompuServe 24 сентября 1979 года запустила первый информационный сервис MicroNET, доступ к которому осуществлялся по телефонным линиям. Сервис позволял участникам сети передавать файлы, получать доступ к новостям и событиям, обмениваться сообщениями и присоединяться к дискуссионным форумам. В 1980 году сервис был переименован в CompuServe Information Service (CIS).

Конечно, пользователей сервиса привлекали прежде всего не новости, а возможность общаться, и появившаяся в 1980 году программа CB Simulator, обеспечивающая чат в реальном времени, стала невероятно популярной. В начале 1981 года число пользователей CIS перевалило за 10 тысяч, а к началу 1990-х исчислялось миллионами, в то время сервис был самым популярным в США. Компания имела базу лояльных клиентов, обилие информации об их вкусах, полезная база знаний и практически полное отсутствие каких-либо конкурентов в этой нише.

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

Сервис не смог укрепиться на рынке по простой причине — компания не хотела вкладывать в свои преимущества деньги, чтобы потом монетизировать результаты.

Компьютеры Xerox

Alto от компании Xerox был первым в мире компьютером с пользовательским интерфейсом в виде окон. Он был создан за 10 лет до появления персональных компьютеров под управлением Windows и Maс, задолго до микрокомпьютеров MITS Altair.

Alto поставлялся с мышью, имел возможность подключаться к локальной сети. Кроме того, на нем был предустановлен текстовый редактор, работавший по принципу WYSIWYG («получаешь то, что видишь»).
К сожалению для компании Xerox, в 1973 году рынка персональных компьютеров просто не существовало. Компания создала несколько тысяч таких компьютеров, которые были размещены в университетах страны. Но дальше этого распространение этих машин не пошло, а Xerox никак не пыталась их продвигать.

Когда в компании поняли, что допустили серьезную ошибку, было уже поздно. Была начата работа по продвижению графической рабочей станции Xerox Star, но это уже не могло изменить ситуацию: в результате на рынке прочно закрепились персональные компьютеры с Windows и Mac OS.

Непроданный Facebook

В 2006 году, когда Facebook было всего два года, широкая общественность относилась к ней, как к узкопрофильной социальной сети для студентов. В то время на Facebook было зарегистрировано 8 миллионов пользователей. В то время как аудитория MySpace превышала 100 миллионов.

Компания Yahoo предложила Марку Цукербергу $1 миллиард за его детище. В июне 2006 года Цукерберг подписал контракт о продаже Facebook.

Однако, на фоне резкого ухудшения финансового положения Yahoo, ее тогдашний гендиректор Терри Сэмел сбавил сумму до $800 миллионов. Цукерберг отказался продавать компанию за эти деньги. Через два месяца Yahoo вернулась к предыдущим условиям сделки, но было уже поздно. После этого дела этой компании шли все хуже. Теперь она продана холдингу Verizon.

В начале 2000-х годов капитализация Yahoo превышала $125 миллиардов. Теперь Verizon купила компанию всего за $4,83 миллиарда.

Странная идея

Информация о том, что iPod придумал Стив Джобс, не совсем верна. Руководство компании Real Networks не оценило идею Тони Фэделла о создании совершенно нового типа музыкального плеера. К тому времени рынок был уже насыщен MP3 плеерами.

Но его плеер был тоньше и меньших размеров, а система доставки контента давала меломанам простые способы наполнить свой плеер новой музыкой. Так, в 2000-ом году Стив Джобс согласился сотрудничать с Тони Фэделлом. Джобс доработал дизайн плеера, а другие специалисты Apple доработали систему доставки контента, которая получила имя iTunes.

В результате около 80% рынка цифровой музыки сегодня принадлежит компании Apple. Сам Тони Фэделл проработал в отделении, разрабатывающем iTunes до ноября 2008 года. А компания Real Networks все так же производит обычные плееры. Однако ее доходы не идут ни в какое сравнение с тем, сколько iTunes приносит корпорации Apple.

  • Управление разработкой
  • Управление проектами

Источник: habr.com

10 самых дорогих ошибок в разработке ПО

Ещё совсем свежа память об уязвимости Heartbleed в Open SSL, поставившей под удар сотни тысяч приложений по всему миру. Пока дотошные багоискатели продолжают исследовать код Open SSL в поисках новой ошибки, способной с не меньшей силой заставить сердца специалистов по безопасности ныть от тревожного предчувствия, мы решили оглянуться назад и вспомнить самые дорогостоящие и ужасные по последствиям технологические катастрофы, случившиеся из-за ошибок разработчиков программного обеспечения. От потерянных в глубинах космоса спутников, стоимостью в годичный ВВП небольшого островного государства, до печально известного червя Морриса, мутировавшего из безобидного эксперимента в напасть года, что, кстати, не помешало его автору стать уважаемым человеком — профессором MIT и сооснователем Y Combinator.

10 самых дорогих ошибок в разработке ПО

Текст: Отдел новостей Теги: epic fail, баги

Нашли ошибку в тексте-выделите ее и нажмите Ctrl+Enter. Нашли ошибку в тексте-выделите ее и нажмите кнопку «Сообщить об ошибке».»

Источник: devby.io

Известные ошибки в программе

Более двух десятилетий назад, в канун нового 2000 года, весь развитый мир охватила паника из-за проблемы способной привести к сбоям в работе компьютеров, падению самолетов, прекращению работы медицинского оборудования и разрушению глобальной финансовой системы.

Суть проблемы заключалась в том, что большинство устаревших информационных систем, созданных еще в 70-х и 80-х, использовали только две цифры для исчисления года. Это значит, что часы внутри микропроцессоров различного аппаратного ПО регистрировали 1999 год как «99», основываясь на ошибочном предположении разработчиков прошлого, что мы всегда будем жить в 20-м веке и цифра «19» в обозначении года никогда не изменится.

Тогда все полагали, что в 2000 году у всех нас наверняка будут реактивные ранцы, еда в форме таблеток, футуристическая серебристая униформа и человечество к этому времени откажется от старых компьютерных систем середины века. Но чуда не случилось!

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

Читайте также:
Анимационная программа в музее пример

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

2. Терак-25

⚠️💻 10 самых известных ошибок в коде в истории программирования

Плохой код на самом деле может убить. Такая катастрофа произошла с аппаратом лучевой терапии Therac-25, произведенным компанией Atomic Energy of Canada, ставшего причиной гибели не менее шести пациентов. Расследование выявило недоработку системы, вызвавшую передозировку радиацией.

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

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста»

3. Сеть AT 10 самых известных ошибок в коде в истории программирования» />

15 января 1990 года около 50 процентов мобильной сети ATT иски с внушительными суммами. К примеру, крупнейший авиаперевозчик American Airlines, понес колоссальные финансовые убытки из-за того, что получил наполовину меньше звонков своих клиентов из-за сбоя. Авария 1990 года до сих пор служит прекрасным примером важности тестирования программного обеспечения и служит напоминанием о неразрывной связи между технологиями и экономической деятельностью большинства компаний.

4. Досрочное освобождение заключенных

⚠️💻 10 самых известных ошибок в коде в истории программирования

В 2005 году в США штате Мичиган произошел сбой тюремной программы, отвечающей за расчет срока наказания заключенных, в результате чего более 20 заключенных досрочно вышли на свободу. Программа ошибочно посчитала смягчающий коэффициент и снизила срок пребывания отбывающих наказание людей в несколько раз. Ошибку в коде заметили не сразу, а лишь по прошествии некоторого времени.

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

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

5. Взрыв Ariane 5

⚠️💻 10 самых известных ошибок в коде в истории программирования

Случай произошел 4 июня 1996 года при первом запуске Ariane 5 — одной из самых надежных беспилотных ракетных установок, целью которой было изучение взаимодействия между солнечным ветром и магнитосферой Земли. Через 37 секунд после старта ракета, вылетевшая с космодрома, находящегося на берегах Французской Гвианы, развернулась на 90 градусов и всего через несколько секунд превратилась в огромный огненный шар.

Специальная группа прочесала место происшествия, собирая обломки, чтобы попытаться выяснить, что произошло. Через некоторое время техническая комиссия установила, что авария была вызвана программным сбоем.

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

К слову, целочисленное переполнение является широко распространенной ошибкой в ​​​​компьютерном программировании.

6. Ошибка Paypal

⚠️💻 10 самых известных ошибок в коде в истории программирования

Что бы вы сделали, если бы PayPal случайно зачислил на ваш счет 92 квадриллиона долларов? Крису Рейнольдсу, 56-летнему американцу, продающему автозапчасти на eBay, не пришлось долго об этом думать. Ведь он даже не успел ощутить себя первым в мире квадриллионером и самым богатым человеком в мире, так как ошибка была устранена в течение нескольких минут. Поэтому, прежде чем мужчина начал мечтать о новом кадиллаке и золотой карте члена королевского яхт-клуба, сумма на его счету вернулась к привычному балансу. Конечно, стоило бы потребовать с компании хотя бы часть этой суммы за моральный ущерб, но, видимо, шок от увиденного не позволил ему сделать это.

7. Калькулятор Windows

⚠️💻 10 самых известных ошибок в коде в истории программирования

Эта ошибка, существующая в большинстве версий Windows (кроме Windows 10), которую вы сможете проверить самостоятельно.

Для этого нужно:

  1. Открыть калькулятор Windows и ввести 4.
  2. Извлечь из этого числа квадратный корень и получите 2.
  3. Вычесть из него 2 и вместо нулевого результата в разных версиях Windows вы увидите разные результаты.

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

Microsoft признала эту ошибку в приложении калькулятора и исправила ее в Windows 10.

8. Проблема 2038 года

⚠️💻 10 самых известных ошибок в коде в истории программирования

Ошибка 2038 будет вызвана использованием 32-разрядных процессоров в 32-разрядных системах. Проще говоря, 19 января 2038 года наступит в 03:14:07. Компьютеры, которые все еще используют 32-разрядные системы для управления датой и временем, не смогут справиться с этим изменением. Как и в случае с ошибкой 2000 года, компьютеры не смогут отличить 2038 год от 1970 года.

Однако волноваться не стоит: почти все современные процессоры в настольных ПК имеют 64-битные системы с 64-битным программным обеспечением и в 2038 году само существование 32-битных систем будет под вопросом.

9. Видео Gangnam Style «сломало» YouTube

⚠️💻 10 самых известных ошибок в коде в истории программирования

Счетчик YouTube ранее использовал 32-битное целое число для определения максимального количества просмотров видеоролика, и равно оно было 2 147 483 647.

Однако корейская поп-группа PSY, выложившая на сервис свой клип с зажигательной песней Gangnam Style благополучно его сломала, превысив допустимую планку.

«Когда мы его делали, никогда не думали, что какое-нибудь видео посмотрят столько раз, но это было до Gangman Style», — написал на своей странице в сети один из разработчиков портала.

Клип PSY опубликовали 15 июля 2012 года и к концу мая 2014 года он стал единственным видеороликом, которой просмотрели больше 2 млрд раз.

В настоящее время YouTube использует 64-битное целое число для счетчика видео, что означает, что максимальное количество просмотров видео составляет 9,22 квинтиллиона.

10. Синий экран смерти

⚠️💻 10 самых известных ошибок в коде в истории программирования

BSOD или «Синий экран смерти» — жаргонное название фатальной системной ошибки Windows, показывающей системный сбой, при котором операционка достигала состояния, в котором она больше не могла надежно работать. Как правило, вызывалась она в Windows 95-98 после неожиданного завершения важного процесса или общего сбоя оборудования. Старожилы наверняка помнят этот баг, который довольно часто возникал на заре становления ИТ-культуры.

16 марта 2000 года Microsoft выпустила обновление для системы безопасности, устраняющее эту неполадку, однако и сейчас на форумах изредка можно встретить сообщение от пользователей об этой проблеме.

Людям свойственно совершать ошибки. Однако, будьте внимательны — всегда нужно помнить, что даже одна плохо написанная строчка кода может привести к печальным последствиям. Удачи!

Материалы по теме

  • ⚠️ 10 самых распространенных ошибок, ежедневно допускаемых каждым программистом
  • ⚠️ Как не нужно учить TypeScript: 5 распространенных ошибок
  • Дорогостоящие ошибки: почему нам пришлось отказаться от Firebase

Источник: proglib.io

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru