Статический анализ языка Visual Basic .NET
Карцев В.С. (ИСП РАН, Москва, Россия; МФТИ, Московская. обл., Россия)
Игнатьев В. Н. (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)
Аннотация
В работе представлена реализация статического анализа для языка Visual Basic .NET в рамках промышленного инструмента SharpChecker. С помощью фреймворка компилятора Roslyn в SharpChecker была интегрирована поддержка языка Visual Basic .NET. Это позволило выполнять статический анализ исходного кода на языке Visual Basic .NET. В рамках работы также был создан репрезентативный набор синтетических тестов, содержащий суммарно более 2000 тестов. Тестирование производилось как на созданной выборке тестов, так и на наборе реальных проектов с открытым исходным кодом суммарным объемом более 1.6 млн. строк кода. Было обнаружено 7926 новых предупреждений в исходном коде на языке Visual Basic .NET, из которых 1093 были проанализированы и размечены вручную. Итоговая точность анализа составила 84.72%. Кроме того, были обнаружены предупреждения, связанные с кодом на языках C# и Visual Basic .NET одновременно, что показало возможность производить межъязыковой анализ в проектах, которые содержат сразу два языка платформы .NET. Добавление поддержки языка Visual Basic .NET в инструмент SharpChecker не отразилось на времени работы и на качестве анализа для языка C#.
Полный текст статьи в формате pdf
Ключевые слова
Издание
Труды Института системного программирования РАН, том 37, вып. 6, часть 2, 2025, стр. 37-52.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2025-37(6)-18.
Для цитирования
Карцев В. С., Игнатьев В. Н. Статический анализ языка Visual Basic .NET. Труды Института системного программирования РАН, том 37, вып. 6, часть 2, 2025, стр. 37-52. DOI: 10.15514/ISPRAS-2025-37(6)-18.