Ядро Linux проверено проприетарным статическим анализатором PVS Studio

Статический анализатор — это инструмент, выявляющий ошибки в исходном коде приложений. Самое главное преимущество, по сравнению с другими методами анализа, — это охват всего программного кода и отсутсвие необходимости в изменении самого исходного кода при проведении статического тестирования.

В системах с открытым исходным кодом существует небольшое количество статических анализаторов, поддерживающих язык C (Sparse, splint), поэтому разработчики open source проектов не брезгуют пользоваться проприетарными анализаторами. В отчете, опубликованном на сайте PVS Studio, сами разработчики отечественного статического анализатора инициировали проверку ядра Linux.

Проверке подвергся код стабильного ядра версии 3.18.1. Специально для данного исследования анализатор PVS Studio был портирован на Linux. Анализу подвергались препроцессированные файлы ядра. Для анализа исходников была написана утилита, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. В качестве среды, в которой проводилась проверка, использовался дистрибутив Ubuntu-14.04.

Краткие результаты: ошибки и уязвимости присутсвуют, и их много. Об отчете уведомили разработчиков ядра в рассылке LKLM.ORG. Некоторые ошибки множественные: раз и два. По замечаниям уже начали высылать патчи, например, этот.

Инсайдерская информация: разработчики PVS Studio без зазрения совести используют русский язык в проекте, в частности, делают описание диагностик на родном языке, чтобы уменьшить сложность разработки (пруф).

 kernel, linux

©  Linux.org.ru