Факт: ошибка в автомобильном софте может стоить жизни. Что дальше?

Shit happens — гласит американская поговорка. Но некоторые неприятности не просто случаются, они обязаны рано или поздно произойти просто в силу закона больших чисел. Скажем, в шести миллионах строк кода непременно скрывается какое-то количество ошибок, и дайте возможность — рано или поздно одна из них проявит себя катастрофически. Шесть миллионов строк — это длина программного обеспечения, работающего в бортовых компьютерах современного среднестатистического автомобиля. А ошибка, которую теоретики так долго и упрямо ждали, найдена и сутки назад признана компанией Toyota в системном софте знаменитого гибрида Prius.

Toyota Prius — самый востребованный представитель племени гибридных авто и вообще одна из самых популярных моделей на авторынке. Тому есть причины: машина сравнительно безопасная и недорогая, плюс экономичная и чрезвычайно надёжная, что хорошо экономию по топливу дополняет (по данным авторитетного в Штатах журнала Consumer Reports — голоса общества защиты прав потребителей — одна миля обходится в 47 центов). И вот теперь для устранения дефекта отзываются все 1.9 миллиона этих красавиц, произведённых и проданных с 2010 года: половина придётся на Японию, четверть на Штаты и Канаду, остальное соберётся из Европы, Австралии и других стран.

На самом деле одновременно Toyota отзывает ещё 300 тысяч своих авто других моделей — и тоже из-за (менее опасной) программной ошибки.
На самом деле одновременно Toyota отзывает ещё 300 тысяч своих авто других моделей — и тоже из-за (менее опасной) программной ошибки.

Дефект, заставивший Toyota решиться на эту меру, описан прямо скажем мутно, но даже в таком виде понятно, что случай беспрецедентный. В программном обеспечении автомобиля, управляющем, в частности, двигателем и генератором, допущено несколько ошибок. Проявляются они чрезмерной нагрузкой на мощные транзисторы, что чревато выходом их из строя и последующим аварийным отключением бортовой электроники. Произойти это может в том числе и во время движения: двигатель без предупреждения глохнет, машина сбрасывает скорость с возможной потерей управления. Эксплуатировать Prius после этого возможно, но ехать он будет очень медленно. По сообщению самой Toyota, вызванных ошибками в софте инцидентов (тем более с человеческими жертвами) не зафиксировано, хотя американские СМИ говорят о «сотнях поломок». 

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

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

Prius

Итак, во-первых, необходимо признать, что степень зависимости автомобильных узлов и агрегатов от программного обеспечения перешла черту, за которой чисто программные ошибки способны привести к аппаратным поломкам (персональные компьютеры, например, её так и не перешагнули) и где ошибка действительно представляет опасность для человека.

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

В-третьих, даже активное добровольное участие вендора в исправлении обнаружившихся недостатков — а Toyota после многомиллиардных выплат в той истории с педалью стала сильно сговорчивей, и теперь отзывает чаще, больше и охотней любого другого автопроизводителя — не решает самой проблемы софтверных дефектов. Отзыв — всего лишь реакция, следствие. Причина (баг) в следующий раз найдётся новая, ведь программ без ошибок не бывает.

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

Имеющийся опыт, к сожалению, мало что даёт. Там, где цена программной ошибки слишком высока — в космосе, например — проблему решают грубо: введением чрезмерно жестоких требований к разработке программного обеспечения. О российской практике ничего не скажу (может быть поделятся читатели? В одной из предыдущих дискуссий уже всплыла интереснейшая ссылка на отечественный язык программирования ДРАКОН, мешающий писать с ошибками), но о том, как работает NASA, известно хорошо. Скажем, приступая к разработке софта для «Шаттлов», заказчик и исполнители (в т.ч. IBM) исходили из предположения, что именно программное обеспечение является наиболее важным элементом всего комплекса, потому что именно оно связывает воедино всю механику и электронику на борту. Отсюда и процесс: над проверкой софта трудится почти половина команды, каждое вносимое изменение проверяется несколькими независимыми группами на разных уровнях абстракции — и всё равно пилотам пришлось иметь дело с сотнями страниц исключений и особенностей работы софта!

Linux kernel map

Не стоит даже спрашивать, применимо ли это к автомобилям: слишком дорого! Однако выход есть. Помочь может свободное ПО. Возьмись сегодня кто-нибудь разработать ядро Linux «с нуля», это обошлось бы ему в невероятную сумму. Но, понятное дело, никто «Линукс» не изобретает — желающие просто адаптируют его к своему железу и задачам. Точно так могла бы работать и воображаемая свободная ОС для автомобилей: одна на всех, адаптируемая конкретным вендором к конкретным моделям авто. Возможно даже эту нишу Linux и займёт — если не подсуетится никто другой.

Камнем преткновения здесь остаётся тщательно охраняемая секретность электронных блоков управления автомобилем (т.н. ECU). Если прочие запчасти давно уже тяготеют к универсализации, т.е. применимы на авто различных марок (и аналитики, кстати, упоминают эту тенденцию в числе причин, из-за которых отзыв становится дороже: ведь, если дефект обнаружился в универсальной запчасти, отзывать придётся не одну модель и, может быть, не одного производителя), то ECU остаются тайной за семьюдесятью замками.

Мы ничего не знаем об их устройстве, мало что знаем об алгоритмах работы. Спасибо Toyota, теперь по крайней мере признано, что в них бывают ошибки и ошибки эти могут быть опасны для «железа» и человека. Но чтобы пустить туда свободную ОС, а значит дать энтузиастам (и конкурентам!) заглянуть внутрь, придётся попотеть. Даже производители видеокарт всё ещё — двадцать лет спустя после начала дискуссии — не отважились на гласность и скрывают схематику своих чипов. Что говорить об автомобилях!



Евгений Золотов, Компьютерра





Интересные новости
Запас ходу 9 електричних кросоверів перевірили в реальних українських умовах - відеоЗапас ходу 9 електричних кросоверів перевірили в реальних українських умовах - відео
Блок рекламы


Похожие новости

Фактичні збори з податку на розкіш: зросли за 2023 рік, але скоротилися порівняно з довоєнним періодом — ДПСФактичні збори з податку на розкіш: зросли за 2023 рік, але скоротилися порівняно з довоєнним періодом — ДПС
У Миколаївській області викрили АЗС, яка наторгувала контрафактним пальним на мільйони гривеньУ Миколаївській області викрили АЗС, яка наторгувала контрафактним пальним на мільйони гривень
У Києві вартість таксі під час повітряної тривоги злітає у рази: фотофактУ Києві вартість таксі під час повітряної тривоги злітає у рази: фотофакт
"Нульового" розмитнення авто вже немає, а кілометрові черги на кордоні залишилися: фотофакт"Нульового" розмитнення авто вже немає, а кілометрові черги на кордоні залишилися: фотофакт
Может стать бестселлером на украинском рынке: Toyota готовит к выпуску дешёвый кроссовер
Полиция не может под предлогом “профилактики“ останавливать автомобили – судПолиция не может под предлогом “профилактики“ останавливать автомобили – суд
В Гостомеле предлагают построить международный пассажирский аэропорт: как может выглядеть "Мрія"В Гостомеле предлагают построить международный пассажирский аэропорт: как может выглядеть "Мрія"
Переход украинской железной дороги на евроколею будет стоить не такие уж безумные деньгиПереход украинской железной дороги на евроколею будет стоить не такие уж безумные деньги
Стоимость проезда в Киеве может вырастиСтоимость проезда в Киеве может вырасти
Германия может ограничить для водителей скорость на дорогахГермания может ограничить для водителей скорость на дорогах
Последние новости

Подгружаем последние новости