TGViewer
Бестиарий программирования Бестиарий программирования @programming_tales · 1.14K subscribers
Post #511 715
Об итогах испытаний статических анализаторов исходного кода при организационной и методической поддержке ФСТЭК России в 2025 году (часть 4 из 6)

Вернёмся к графикам по основной формуле. Оставив за скобками ISP RAS (Svace), результаты PVS, Echelon, Solar, PT выглядят как-то уж совсем скромно в сравнении с набором открытых анализаторов Basealt (clang-static-analyzer, clang-tidy, cppcheck и gcc). Не могут все эти коммерческие инструменты, развиваемые десятилетиями, оказаться настолько хуже.

Почему так получилось? Формула подсчёта. Всё подсчитывалось открыто, но неожиданно в последний момент появились веса для методов анализа. Рискну предположить, что это меняет картину.

Радикальным смотрится и динамическая оценка веса конкретного теста: больше инструментов прошло тест, меньше вес теста. Спорный подход. Получается, что большой вклад вносят экзотические сложные тесты. Но поиск экзотики вовсе не означает, что на практике она столь полезна.

Возможно, именно динамическая оценка оказала значимое влияние на результаты ISP RAS. Команда ИСП РАН писала сложные тесты и, как звучало на докладе, хочется видеть больше именно таких сложных тестов. Получается, это своего рода бонус за создание таких тестов.

На мой взгляд, это рискованная дорога. Если ценятся сложные/экзотические тесты, которые только твой инструмент и может пройти, то все начнут писать только такие тесты. Ведь если тест проходят и другие, у него будет низкий вес. В результате получится набор тестов, в котором каждый в основном будет находить только то, что создала его команда. Ведь можно, основываясь на тонкостях работы анализатора или его сильных сторонах, написать такой тест, с которым другим будет тяжело.

Плюс это уводит в сторону от основной задачи тестов: проверки технологий анализа кода. Вместо технологий начинают проверяться предельные/краевые возможности инструмента.

В общем, на приведённые числа интересно посмотреть, но какие-то выводы из них нужно делать очень аккуратно или вообще не делать.
  • 👍 11
More from @programming_tales
  1. Oct 2, 2026Запись вебинара: Go vet не поможет... Как сделать свой анализатор кода для Go?
  2. Oct 2, 2026В целях нетворкинга и просто так приглашаю коннектиться в TenChat — что-то типа LinkedIn.…
  3. Sep 29, 2026Сегодня коллега демонстрирует, как визуально проявляют себя баги в Java коде: Нашёл ошибки…
  4. Sep 29, 2026photo post
  5. Sep 28, 2026На днях выступал с докладом на форуме "Безопасность транспортных средств", организованном…
  6. Sep 28, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →