Предсказание истинности предупреждений промышленного статического анализатора с использованием методов машинного обучения
Тяжкороб У.В. (ИСП РАН, Москва, Россия; МФТИ, Московская. обл., Россия)
Беляев М. В. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Белеванцев А.А. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Игнатьев В.Н. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Аннотация
В данной работе описан механизм автоматической классификации предупреждений статического анализа с использованием методов машинного обучения. Статический анализ является инструментом поиска потенциальных уязвимостей и ошибок в исходном коде. Однако зачастую статические анализаторы генерируют большое количество предупреждений, причем как истинных, так и ложных. Вручную проанализировать все найденные анализатором дефекты является трудоемкой и времязатратной задачей. Разработанный механизм автоматической классификации показал высокую точность более 93% при полноте около 96% на наборе предупреждений, сгенерированных промышленным инструментом статического анализа Svace при анализе реальных проектов. Генерация набора данных для модели машинного обучения основана на предупреждениях и метриках исходного кода, полученных в процессе анализа проекта статическим анализатором. В работе рассматриваются различные подходы к отбору и обработке признаков классификатора с учетом различных особенностей рассматриваемых алгоритмов машинного обучения. Эффективность работы механизма и его независимость от языка программирования позволили добавить его в промышленный инструмент статического анализа Svace. Были рассмотрены различные подходы к интеграции инструмента, учитывающие специфику статического анализатора, и выбран наилучший из них.
Полный текст статьи в формате pdf
Ключевые слова
Издание
Труды Института системного программирования РАН, том 37, вып. 6, часть 1, 2025, стр. 101-120.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2025-37(6)-6.
Для цитирования
Тяжкороб У.В., Беляев М. В., Белеванцев А.А., Игнатьев В.Н. Предсказание истинности предупреждений промышленного статического анализатора с использованием методов машинного обучения. Труды Института системного программирования РАН, том 37, вып. 6, часть 1, 2025, стр. 101-120. DOI: 10.15514/ISPRAS-2025-37(6)-6.