Есть много историй про интересный баг в том или ином, ключе в истории разработки ПО. Нужно понимать что баг может быть интересным не только с точки зрения воспроизводимости. Но и из-за своих последствий, а часто интересный баг — это минорная ошибка в разработке — приведшая к миллионным потерям или человеческим жизням. Вот почему так важно поддерживать высокое качество программного обеспечения очень важно, так как ошибки и баги в коде могут привести к серьезным последствиям, как финансовым, так и в плане безопасности и приватности пользователей. Не надлежащее качество ПО может также повлечь за собой утрату доверия пользователей и ущерб репутации компании. Вот несколько примеров:
Интересный баг космонавтики
Интересный баг, связан с историей первого запуска аппаратно-программного комплекса для полета космического корабля. В 1961 году СССР запустил космический корабль «Восток» с астронавтом Юрием Гагариным на борту, который стал первым человеком в космосе. Однако, чтобы продолжить совершенствование космических полетов, необходимо было создать новый комплекс.
В 1962 году компания «ОКБ-1» (ныне РКК «Энергия») разработала новый аппаратно-программный комплекс, называемый «Восток-2». Однако, когда комплекс был готов к запуску, обнаружилась ошибка в программном обеспечении, которая могла привести к непредвиденным последствиям в полете. Командованием решило отложить запуск и исправить ошибку.
В результате, вместо «Востока-2» в космос СССР запустил другой комплекс, «Восход», в котором уже исправили ошибку. А только после этого, когда ошибку в «Востоке-2» исправили, комплекс запустили в космос. Эта ошибка стала ярким примером того, как даже малейшая ошибка в программном обеспечении может привести к серьезным последствиям, особенно в космических условиях, где непредвиденные события могут быть фатальными.
К сожалению, точной информации о конкретной ошибке в ПО аппаратно-программного комплекса, который был отклонен в 1962 году, нет. В те годы многие компьютерные системы были очень сложными и обширными, а информация о разработке и тестировании ПО не всегда документировалась в полной мере. Однако известно, что после этого инцидента произошли серьезные изменения в разработке и тестировании ПО для космических полетов, чтобы предотвратить подобные ошибки в будущем.
Интересный баг: Facebook
В 2013 году в социальной сети Facebook была обнаружена ошибка в алгоритме рекомендации друзей, которая позволяла незнакомым пользователям связываться между собой и даже обмениваться личными сообщениями. Это привело к нарушению приватности многих пользователей.
Возможность обмена личными сообщениями между незнакомыми пользователями может привести к различным проблемам в области безопасности и конфиденциальности данных. Например, это может стать площадкой для спама, фишинга, мошенничества и других видов кибератак. Кроме того, люди могут стать жертвами кибербуллинга или получить нежелательные сообщения от незнакомых людей, что может негативно сказаться на их психическом состоянии.
Это произошло из-за того, что алгоритм рекомендации друзей не учитывал конфиденциальность пользователей, и при использовании различных устройств для входа в Facebook, например, на общественном компьютере или в интернет-кафе, алгоритм мог случайно связать незнакомых пользователей. Кроме того, данная ошибка привела к тому, что пользователи могли получать личные сообщения от незнакомых людей, что ставило под угрозу их личную жизнь и безопасность. Facebook была вынуждена принять меры по исправлению этой ошибки, чтобы защитить конфиденциальность и безопасность своих пользователей.
Очень и очень грустный баг
В 2019 году компания Boeing столкнулась с серьезными проблемами из-за ошибки в программном обеспечении, которое управляло системой MCAS (Maneuvering Characteristics Augmentation System), ответственной за стабилизацию самолета в полете. Эта ошибка привела к крушению двух Boeing 737 MAX и потере жизней 346 человек. Компания исправила эту ошибку и провела обширный ремонт и модернизацию своих самолетов.
Ошибка в программном обеспечении, которое управляло системой MCAS, привела к тому, что при полете самолета на автопилоте в некоторых ситуациях система начинала автоматически опускать нос самолета, чтобы предотвратить его потерю устойчивости. Однако, из-за неправильных данных от датчиков, система начинала опускать нос самолета слишком сильно и не давала пилотам возможности изменить угол атаки. Это приводило к тому, что самолеты теряли высоту и могли столкнуться с землей. К сожалению, два таких инцидента произошли в 2018 и 2019 годах, и в результате погибло 346 человеческих жизней. Этот баг был одним из наиболее серьезных и трагических случаев в истории разработки ПО.
Интересные баги автомобилестроения
Еще один интересный баг связан с системой навигации GPS в некоторых известных моделях автомобилей BMW. В 2016 году было обнаружено, что некоторые автомобили BMW могут неправильно определять свое местоположение из-за ошибки в программном обеспечении системы GPS. Это могло привести к неправильному расчету времени прибытия и другим проблемам с навигацией.
Также, в 2015 году было обнаружено, что в некоторых автомобилях Jeep Cherokee с системой управления двигателем и развлекательной системой на базе QNX была уязвимость, позволяющая злоумышленникам удаленно получить доступ к системе управления и даже контролировать движение автомобиля. Это привело к масштабному отзыву более 1,4 миллионов автомобилей Jeep Cherokee и других моделей, а также к серьезным изменениям в безопасности программного обеспечения автомобилей.
Еще один скорее не интересный баг, а трагичный
Баг в программном обеспечении электронных систем управления двигателем в некоторых автомобилях Toyota, который приводил к неожиданным тормозам.
В 2009 году Toyota объявила о масштабном отзыве более 4 миллионов автомобилей, в том числе популярных моделей Camry и Corolla, из-за проблем с программным обеспечением электронных систем управления двигателем. Баг заключался в том, что система контроля двигателя иногда неправильно интерпретировала сигналы от датчика педали газа, что могло приводить к неожиданным и опасным тормозам.
В результате этой проблемы произошло несколько аварий, в том числе несколько летальных случаев. Компания Toyota была вынуждена провести масштабный отзыв автомобилей, заменив бракованные детали, а также обновить программное обеспечение систем управления двигателем. Этот инцидент стал одним из самых крупных отзывов автомобилей в истории, и привлек к себе много внимания со стороны СМИ и общественности.