Разделы

Безопасность Цифровизация Бизнес-приложения

Coverity: коммерческое ПО обгоняет Linux по количеству ошибок

Ядро операционной системы Linux, поставляемое с открытым исходным кодом, содержит в пять раз меньше ошибок, чем обычное коммерческое приложение. Такой вывод был сделан специалистами компании Coverity после четырехлетнего исследования данного вопроса.

Coverity занимается созданием инструментов автоматического обнаружения ошибок в программах, написанных на языках C/C++. В исходных текстах ядра Linux, составляющих 5,7 млн. строк, эксперты Coverity обнаружили 985 ошибок. Для сравнения, по данным Университета Карнеги Мелон, коммерческое приложение такого же объема содержит не менее 5 тысяч ошибок. «Linux — очень хорошая система в отношении малой плотности ошибок», — говорит CEO компании Coverity Сет Хеллем (Seth Hallem).

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

Хотя данные Coverity напрямую не указывают на «дыры» в Microsoft Windows, публикация доклада только подогреет спор между сторонниками трех крупнейших ОС: Linux, Mac OS X и Windows. «Эксперты Coverity не анализировали исходный код Windows, поскольку не имели его в наличии», — говорит г-н Хеллем. В Coverity проводят сравнения с Windows на основе докладов других компаний. «Существует ряд публичных докладов, касающихся плотности ошибок в Windows, и я должен сказать, что Linux при сравнении выглядит не хуже или даже лучше», — добавил Хеллем. Тем не менее, по мнению Хеллема, автоматизация поиска ошибок позволила Microsoft снизить их число.

Согласно апрельскому докладу рабочей группы Национального партнерства по кибербезопасности, в котором приводятся результаты исследования жизненного цикла программного обеспечения, сотрудники Института программирования при Университете Карнеги Мелон установили, что коммерческие приложения содержат от 1 до 7 ошибок на 1 тыс. строк кода. Программа такого рода размером с Linux, таким образом, содержит от 6 тыс. до 40 тыс. ошибок.

Александр Бабкин, Газпромбанк: Сейчас иностранные ИБ-решения в Газпромбанке замещены на 65%
безопасность

Mac OS X, хоть и является коммерческой ОС, построена на ядре BSD — UNIX-системы с открытым исходным кодом. В докладе не содержится подробной информации о количестве ошибок в данной ОС.

Руководство Coverity собирается заняться регулярным обследованием Linux и выпуском отчетов о своей работе.