ПО для тестирования водителей на алкоголь оказалось проблемным [ Редагувати ]
В американском штате Нью-Джерси недавно прошел интересный судебный процесс, связанный с качеством программного кода и проблемой выявления ошибок при работе приборов, используемых при доказывании вины в суде. Речь шла о тестировании на состояние алкогольного опьянения.
Как сообщает сайт «DUI Blog», верховный суд штата в ходе рассмотрения очередного дела о "вождении в пьяном виде" постановил потребовать исходные тексты программы, управляющей одним из таких аппаратов, с целью их анализа на предмет ошибок. То, что там увидел суд, оказалось неприятным открытием.
Надо сказать, что проблема качества работы приборов для анализа "на алкоголь" разбирается в американских судах давно. Сам владелец сайта "DUI Blog", адвокат Лоренс Тейлор - узкий специалист как раз в этой области, защите водителей в случае "пьяного вождения", да и блог его посвящен исключительно этому вопросу.
По словам Тейлора, проблема достаточно "запущенная". В разных штатах США при проверке на алкоголь используются разные приборы, которые работают под управлением самых разных программ. Результат анализа с их помощью является полноценным доказательством в суде, однако качество работы "анализаторов" вызывает многочисленные нарекания. Код программ, ими управляющих, тщательно скрывается производителями.
В настоящее время суд дал компании двадцать дней на раскрытие исходников, грозя в противном случае штрафовать на 3.200 долларов за день просрочки. Компания вяло сопротивляется, аргументируя нежелание выдавать исходники наличием в них "коммерческой тайны".
Эти события разворачивалсь в Минессоте, а вот суду Нью-Джерси повезло больше: исходники он все-таки получил. Вскрытие показало неутешительные вещи.
Во-первых, никакой "коммерческой тайны", на которую всегда любили ссылаться производители подобных аппаратов, в текстах не обнаружилось: все алгоритмы, использованные в них, были хорошо известны и секретов не содержали. Во-вторых, качество исходников не удовлетворяло никаким стандартам проектирования и тестирования. В них нашлось немалое количество кусков кода, которые были помечены в комментариях как "временные", но в результате окончательной компиляции все-таки попали. В-третьих, в текстах было немалое количество "багов". Так, проверка на исполнение процессором запрещенных инструкций была просто отключена, в результате чего аппарат мог вместо нормальной работы просто демонстрировать ее видимость. Некоторые ошибки измерений прибор считает "ошибками" только в том случае, если они повторяются не менее тридцати двух раз.