RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2025, том 37, выпуск 6(1), страницы 101–120 (Mi tisp1060)

Предсказание истинности предупреждений промышленного статического анализатора с использованием методов машинного обучения

У. В. Тяжкоробab, М. В. Беляевac, А. А. Белеванцевac, В. Н. Игнатьевac

a Институт системного программирования им. В.П. Иванникова РАН
b Московский физико-технический институт (национальный исследовательский университет)
c Московский государственный университет имени М. В. Ломоносова

Аннотация: В данной работе описан механизм автоматической классификации предупреждений статического анализа с использованием методов машинного обучения. Статический анализ является инструментом поиска потенциальных уязвимостей и ошибок в исходном коде. Однако зачастую статические анализаторы генерируют большое количество предупреждений, причем как истинных, так и ложных. Вручную проанализировать все найденные анализатором дефекты является трудоемкой и времязатратной задачей. Разработанный механизм автоматической классификации показал высокую точность более 93% при полноте около 96% на наборе предупреждений, сгенерированных промышленным инструментом статического анализа Svace при анализе реальных проектов. Генерация набора данных для модели машинного обучения основана на предупреждениях и метриках исходного кода, полученных в процессе анализа проекта статическим анализатором. В работе рассматриваются различные подходы к отбору и обработке признаков классификатора с учетом различных особенностей рассматриваемых алгоритмов машинного обучения. Эффективность работы механизма и его независимость от языка программирования позволили добавить его в промышленный инструмент статического анализа Svace. Были рассмотрены различные подходы к интеграции инструмента, учитывающие специфику статического анализатора, и выбран наилучший из них.

Ключевые слова: машинное обучение, статический анализ, классификация, метрики исходного кода, предупреждения

DOI: 10.15514/ISPRAS-2025-37(6)-6



© МИАН, 2026