Компания Coverity
подвела итоги двухлетнего исследования, в ходе которого
оценивалось качество кода распространенных открытых продуктов.
Данные, представленные в отчете Scan Report on Open Source
Software 2008, базируются на информации, полученной в ходе анализа
более чем 55 миллионов строк кода, входящего в состав примерно 250
пакетов open source. Эксперты Coverity, в числе прочего, проверяли
исходники веб-сервера Apache, ядра операционной системы Linux,
браузера Firefox, открытых средств разработки, системы управления
базами данных PostgreSQL и пакета Samba, позволяющего использовать
Unix- или Linux-серверы в сетях Microsoft. Анализ осуществлялся при
помощи решения Coverity Prevent, считающегося одним из самых
авторитетных и придирчивых программных инструментов проверки. Согласно отчету Scan Report on Open Source Software 2008,
плотность дефектов (количества ошибок на определенное число строк
кода) в продуктах open source за последние два года уменьшилась на
16%. В численном выражении это эквивалентно устранению примерно 8500
багов в программных пакетах, отобранных для исследования.
Результаты, полученные специалистами компании Coverity, также
позволяют говорить о том, что корреляционной зависимости между
функциональностью того или иного пакета и числом ошибок в его коде
нет. Вместе с тем, согласно отчету Scan Report on Open Source
Software 2008, количество багов пропорционально размеру кода
продукта. В компании Coverity
подчеркивают, что на основании информации о размере исходников
специалисты могут с 72-процентной точностью предсказать, сколько
ошибок в нем будет выявлено в ходе анализа.
Нужно заметить, что улучшение качества кода открытых продуктов
отчасти стало результатом реализации программы Vulnerability
Discovery and Remediation Open Source Hardening Project, начатой
Министерством национальной безопасности Соединенных Штатов в 2006
году. В рамках данной инициативы Стэнфордскому университету,
компаниям Symantec и Coverity был
выделен грант в размере 1,24 миллиона долларов для поддержки
проектов с открытым кодом.
Дополнительную информацию об исследовании Coverity можно найти
здесь.