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

Труды ИСП РАН, 2025, том 37, выпуск 3, страницы 291–302 (Mi tisp1003)

Поиск утечек памяти и ресурсов в статическом анализаторе Svace

Н. Е. Малышевab, А. Е. Бородинb, А. А. Белеванцевab, В. А. Семеновcb

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

Аннотация: В статье представлен метод поиска утечек памяти и других схожих ресурсов в статическом анализаторе Svace. Формулируются требования к статическому анализатору, представляющие стоящую за Svace философию, кратко описывается основная инфраструктура анализа на основе межпроцедурного символьного выполнения с объединением состояний и показывается, как ее можно применить для поиска утечек. Описываются атрибуты, которые необходимо вычислить в ходе анализа, демонстрируется, как они вычисляются, как используются спецификации функций выделения и освобождения памяти, а также как учитываются участки памяти, выходящие из-под контроля анализатора. Предлагается способ учета отсутствующих в исходном коде ограничений на выделение и освобождение памяти с помощью создания искусственных функций. Представляются экспериментальные результаты работы метода на наборе тестов Juliet и открытом пакете Binutils, показывающие жизнеспособность предлагаемых идей.

Ключевые слова: статический анализ, символьное выполнение, утечки памяти, чувствительность к путям, анализ потока данных, анализ указателей.

DOI: 10.15514/ISPRAS-2025-37(3)-20



© МИАН, 2026