Modeling of library functions in an industrial static code analyzer

M. V. Belyaev, Egor Sergeevitch ROMANENKOV, Valery Nikolayevich Ignatyev · Proceedings of the Institute for System Programming of RAS · 2020

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.

Read the paper · More papers on PaperTik