RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2025 Volume 37, Issue 6(2), Pages 37–52 (Mi tisp1072)

Static analysis of Visual Basic .NET language

V. S. Karcevab, V. N. Ignatyevac

a Ivannikov Institute for System Programming of the RAS
b Departament of Radio Engineering and Cybernetics MIPT
c Lomonosov Moscow State University, Faculty of Computational Mathematics and Cybernetics

Abstract: The paper presents the implementation of static analysis for the Visual Basic .NET language within the industrial tool SharpChecker. Using the Roslyn compiler framework, support for the Visual Basic .NET language was integrated into SharpChecker, enabling static analysis of Visual Basic .NET source code. As part of this work, a representative set of synthetic tests was created, comprising over 2000 test cases. Testing was conducted both on this synthetic dataset and on a collection of real-world open-source projects totaling more than 1.6 million lines of code. A total of 7926 new warnings were detected in Visual Basic .NET source code, of which 1093 were manually reviewed and labeled. The final analysis accuracy reached 84.72%. Additionally, warnings related to code written in both C# and Visual Basic .NET were discovered, demonstrating the feasibility of cross-language analysis in projects that include both .NET platform languages. It was also found that adding Visual Basic .NET language support to SharpChecker had no impact on the performance or the quality of analysis for the C# language.

Keywords: static analysis, Visual Basic .NET, symbolic execution, dataflow analysis, code generation

DOI: 10.15514/ISPRAS-2025-37(6)-18



© Steklov Math. Inst. of RAS, 2026