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

Труды ИСП РАН, 2022, том 34, выпуск 6, страницы 41–50 (Mi tisp737)

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

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

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

Аннотация: В данной работе описывается масштабируемый детектор для поиска использований освобожденного ресурса в исходном коде на основе статического символьного выполнения. Данный детектор выполняет межпроцедурный анализ, чувствительный к потоку управления и контексту вызовов. Детектор реализован в рамках промышленного инструмента SharpChecker, его точность (около 70% истинных срабатываний) позволяет включить его в число основных детекторов и предоставить функционал конечным пользователям. В работе рассматривается алгоритм детектора, адаптированный для SharpChecker. Также представлены результаты тестирования детектора на наборе ПО с открытым исходным кодом и примеры срабатываний на реальных проектах.

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

DOI: 10.15514/ISPRAS-2022-34(6)-3



© МИАН, 2024