Содержание

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

Панов Д.Д. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Шимчик Н.В. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Чибисов Д.А. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Белеванцев А.А. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Игнатьев В.Н. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)

Аннотация

В данной работе описывается подход к проверке результатов статического анализа кода при помощи больших языковых моделей (LLM), выполняющий фильтрацию предупреждений с целью удаления ложных. Для составления запроса к LLM предложенный подход сохраняет информацию, собранную анализатором, такую как абстрактное синтаксическое дерево программы, таблицы символов, резюме типов и функций. Эта информация может как напрямую передаваться в запросе к модели, так и использоваться для более точного определения фрагментов кода, необходимых для проверки истинности предупреждения. Подход был реализован в SharpChecker – промышленном статическом анализаторе для языка C#. Его тестирование на реальном коде показало повышение точности результатов на величину до 10 процентных пунктов при сохранении высокой полноты (от 0,8 до 0,97) для чувствительных к контексту и путям межпроцедурных детекторов утечки ресурсов, разыменования null и целочисленного переполнения. Для детектора недостижимого кода применение информации из статического анализатора позволило повысить полноту на 11–27 процентных пунктов по сравнению с подходом, использующим в запросе только исходный код программы.

Полный текст статьи в формате pdf

Издание

Труды Института системного программирования РАН, том 37, вып. 6, часть 1, 2025, стр. 83-100.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2025-37(6)-5.

Для цитирования

Панов Д.Д., Шимчик Н.В., Чибисов Д.А., Белеванцев А.А., Игнатьев В.Н. Повышение точности статического анализа кода при помощи больших языковых моделей. Труды Института системного программирования РАН, том 37, вып. 6, часть 1, 2025, стр. 83-100. DOI: 10.15514/ISPRAS-2025-37(6)-5.

На нашем сайте мы используем cookie файлы, содержащие информацию о предыдущих посещениях веб-сайта. Данные обрабатываются для улучшения качества работы нашего веб-сайта. Если вы не хотите использовать cookie файлы, измените настройки браузера.