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

Proceedings of ISP RAS, 2020 Volume 32, Issue 3, Pages 21–31 (Mi tisp509)

This article is cited in 1 paper

Modeling of library functions in an industrial static code analyzer

M. V. Belyaeva, E. S. Romanenkovb, V. N. Ignatyevab

a Ivannikov Institute for System Programming of the Russian Academy of Sciences
b Lomonosov Moscow State University

Abstract: SharpChecker is an industrial level static analyzer, which is aimed at detection of various bugs in C# source code. Because the tool is actively developed, it requires more and more precise information about program environment, especially about results and side-effects of library functions. The paper is devoted to the evolution of models for the standard library historically used by SharpChecker, its advantages and drawbacks. We have started from SQLite database with the most important functions properties, then introduced manually written C# model implementations of frequently used methods to add support of data container states and have recently developed a model, built by a preliminary analysis of library source code, which allows to gather all significant side-effects with conditions for almost whole C# library.

Keywords: static analysis, library, source code analysis.

Language: English

DOI: 10.15514/ISPRAS-2020-32(3)-2



© Steklov Math. Inst. of RAS, 2026