Итоги проверки Tizen в статическом анализаторе PVS-Studio (реклама)

Заявление, что при помощи статического анализатора PVS-Studio можно выявить около 27 тысяч ошибок в мобильной платформе Tizen вызвало много вопросов и критических замечаний, в основном связанных с тем, что фактически проверка затронула только 2.4 млн строк кода из имеющихся в 72.5 млн строк с последующей экстраполяцией результатов. Разработчики PVS-Studio опубликовали итоговую статью, в которой попытались прояснить свою позицию в отношении некоторых вопросов.

На замечания о недостаточном размере проверочной выборки (3.3%) для экстраполирования результатов на весь проект, разработчики PVS-Studio отметили то, что выборка в 3.3% для проектом масштаба Tizen не такая и маленькая и включает около 2.4 млн строк, по которым вполне можно сделать приблизительные общие выводы. Кроме того, в эти 2.4 млн строк вошли компоненты совершенно разных частей ОС, выбранных случайно, от типичных alsa-lib, efl, enlightenment, bluetooth-frwk и aspell до capi-maps-service, org.tizen.download-manager и других специфичных для Tizen компонентов.

На основе проведённой проверки показатель качества кода Tizen составил 0.37 ошибок на 1000 строк кода, что можно отнести к среднему уровню. Например, для проекта Notepad++ этот показатель составил 2 ошибки на 1000 строк кода, для Far Manager for Linux — 0.46, а для Tor — 0 (вообще не выявлено ошибок). По поводу ложных срабатываний на примере анализа кода библиотек EFL показано, что статический анализатор PVS-Studio выдаёт около 10–15% ложных срабатываний.

Идея переписать всё на языке Rust, предоставляющем средства безопасной работы с памятью, рассматривается как малореалистична с учётом огромной кодовой базе проектов на С/С++ и вероятности внесения новых ошибок в процессе портирования. Отмечается, что в крупных проектах значение языка не так велико, а многие библиотеки на C или C++ давно отлажены.

©  OpenNet