Итоги проверки 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++ давно отлажены.