Компания Coverity, разработчик инструмента для автоматического
исследования безопасности и качества программного обеспечения на основе
сканирования и анализа исходного кода, опубликовала
первые результаты за 2010 год в документе под названием "Отчёт о
корректности Open Souce ПО". Последнее подобное исследование состоялось
в 2008 году. Стоит напомнить, что программа Coverity Scan была начата в 2006
году как инициатива Министерства национальной безопасности США по
обеспечению и усилению безопасности информационной инфраструктуры
Соединенных Штатов, работающей на основе Open Source ПО.
В рамках исследования в этом году был проанализирован 61 миллион
строк исходного кода 291 самых популярных и важных Open Source проектов,
включая такие известные продукты как Android, Samba, Linux и Apache.
Результаты этого года привели к следующим наблюдениям и выводам:
- В общей массе 45% обнаруженных дефектов в Open Source
считаются очень опасными.
- Практически не изменился характер найденных ошибок и
частота, с которой они встречаются. Это означает, что процесс
тестирования в процессе разработки также не изменился. Результаты также
демонстрируют факт того, что человеческий фактор легко позволяет
просочиться подобным ошибкам в разработке.
- Ответственность за Open Source сильно
фрагментирована. Учитывая высокие темпы в увеличении использования Open
Source в цепочке поставок коммерческого ПО, исследователи из Coverity
наблюдают увеличивающийся спрос на достижение прозрачности при
развёртывании Open Source проектов.
Отдельным пунктом данного исследования, как уже было сказано ранее,
является платформа Android. Поскольку различные вендоры используют
разные версии Android, исследователи из Coverity остановились на
Android, который поставляется вместе с HTC Droid Incredible. Android в
этом устройстве использует Linux-ядро версии 2.6.32, а также
дополнительные драйверы для обеспечения работы беспроводной сети,
сенсорного экрана и фотокамеры. Исследование показало, что:
- Ядро Android в HTC Droid Incredible содержит в два раза
меньше ошибок, чем другой средний продукт с таким же объёмом исходного
кода.
- Ядро Android имеет лучший показатель числа ошибок на
1000 строк кода (LIC), однако исследование всё равно обнаружило 359
ошибок. Исследователи считают, что другие продукты на основе Android
имеют схожее количество ошибок.
- Исследователи нашли 88 очень серьёзных ошибок в
Android, или 25% от всех обнаруженных ошибок, включая порчу памяти,
неправильное обращение к памяти, утечка ресурсов - все эти типы ошибок
являются критическими и могут привести к проблемам в безопасности,
потере данных, нестабильности в работе и ухудшению качества. Обычно
подобные ошибки пользователи Coverity исправляют до выхода продукта на
рынок.
- Ответственность за Android сильно фрагментирована,
ибо Android состоит из множества программных продуктов, за которые
отвечают тысячи никак несвязанных друг с другом людей. Немаловажную роль
в этой проблеме играет и наличие ПО от самого производителя - ведь
практически ни один вендор не поставляет немодифицированный Android.
Полный отчёт о найденных ошибках компания Coverity уже отправила
ответственным лицам и заинтересованным сторонам. Остаётся надеяться, что
ошибки будут исправлены и качество Open Source улучшится.
Больше ТУТ.
|