|
Coverity запустила проект по сравнению качества открытого и проприетарного ПО в 2006 г. при поддержке Департамента национальной безопасности США. Основная цель проекта — развеять миф о низком качестве программного обеспечения с открытым кодом, который отталкивает от СПО многих потенциальных пользователей. С 2009 г. компания выпустила уже три подробных отчёта.
Исследования ведутся на базе собственной платформы компании — Coverity Scan, облачного сервиса, широко используемого как сообществом Open Source, так и производителями коммерческого ПО, такими как Adobe, Alcatel, Siemens или Vodafone.
Сервис позволяет разработчикам автоматически проверять свой код на наличие погрешностей, которые потенциально могут вызвать уязвимости и неожиданные сбои в работе программы: разыменованных указателей, неинициализированных переменных, повреждений памяти или проблем с контролем потока. Оценка качества кода производится на основе так называемой плотности дефектов — числа ошибок на 1000 строк.
Отчет за текущий год был составлен на основе анализа 37 млн строк кода 45 самых крупных Open Source-проектов, пользующихся сервисом Coverity Scan. Каждый из них содержал в себе, в среднем, около 820 000 строк кода. Плотность дефектов для открытого кода по результатам анализа составила 0,45.
Проприетарный код, в свою очередь, показал более высокую плотность дефектов — 0,64. Результат был получен на основе обработки 300 млн строк кода, полученных от 41 коммерческого софтверного проекта. Среднее количество строк в одном проприетарном проекте составляло 7.55 млн.
Стандартная плотность дефектов по программной индустрии составляет 1 ошибку на 1000 строк. Таким образом, и проприетарные, и открытые проекты демонстрируют одинаково высокое качество исходников — в частности, в тех случаях, когда они одинаковы по объёму.
По словам экспертов, составлявших отчёт, в этом году в исследовании впервые приняли участие проприетарные вендоры, являющиеся непосредственными клиентами Coverity. В докладе их имена остались неназванными.
Среди Open Source-проектов эксперты особенно отметили PHP 5.3, базу данных PostgreSQL и ядро Linux версии 2.6 как наиболее высококачественные. Аналитики назвали эти проекты «образцово-показательными»: плотность дефектов в них составила, соответственно, 0.20, 0,21 и 0,62. Для Linux показатель в 0,62 является признаком высокого качества: в ядре содержится более 7 млн строк, при этом плотность дефектов практически равна той, которую демонстрируют проприетарные соперники аналогичного объёма.
Авторы отчета призвали организации использовать результаты исследований для оценки и сертификации ПО. В 2012 году Coverity планирует провести ещё одно исследование подобного рода, значительно увеличив базу обрабатываемых исходников.