Поиск множественного перечисления коллекций в исходном коде на языке C# методами статического анализа
Новости
Поиск множественного перечисления коллекций в исходном коде на языке C# методами статического анализа
Аннотация
Статья посвящена проблеме множественного перечисления отложенно инициализированных коллекций в языке C#. Множественные перечисления таких коллекций могут приводить к существенному снижению производительности и непредсказуемому поведению программы. В статье предлагается метод обнаружения ошибок множественного перечисления, реализованный в рамках промышленного статического анализатора SharpChecker. Алгоритм основан на символьном выполнении, чувствительном к потоку управления и путям выполнения, и поддерживает межпроцедурный анализ. Детектор выявляет как повторные перечисления в пределах одного метода, так и возникающие через цепочки вызовов методов. Экспериментальная оценка на 20 проектах с открытым исходным кодом показала высокую долю истинных предупреждений (около 95%). Результаты демонстрируют эффективность и практическую ценность предложенного подхода. Это позволяет включить его в число основных детекторов и предоставить функциональность пользователям.
Ключевые слова
Издание
Труды Института системного программирования РАН, том 38, вып. 6, часть 1, 2026, стр. 9-22.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2026-38(6)-1
Для цитирования
Полный текст статьи в формате pdf
Вернуться к содержанию тома