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