A Holistic Static Analysis for Finding Errors in Source Code

We propose a holistic comprehensive static analysis system that addresses modern challenges of code complexity growth and supporting many popular languages while being capable of utilizing source code metainformation during analysis (e.g., commit history, merge request discussions). The system includes classical methods, such as abstract syntax tree search, dataflow analysis, symbolic execution, and new methods based on machine learning and large language models for error detection and cross-verification. We discuss the system's design and its implementation in the SharpChecker, an industrial static analyzer, including an ensemble of relevant analysis methods. The system considers the main use cases for the analyzer, proposes a scheme for interaction and data exchange between its components. The paper presents brief results of performance, precision, and recall of the system on the set of open source projects with more than 5 million LOC, illustrating high performance.

Authors

Publication Details

Journal
PROGRAMMNAYA INGENERIA
Published
2025-10-13
DOI
https://doi.org/10.17587/prin.16.517-531
Primary Topic
Software Reliability and Analysis Research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Holistic Static Analysis for Finding Errors in Source Code

V. N. Ignatyev
PROGRAMMNAYA INGENERIA
Software Reliability and Analysis Research
article

A Holistic Static Analysis for Finding Errors in Source Code

V. N. Ignatyev
article en

Abstract

We propose a holistic comprehensive static analysis system that addresses modern challenges of code complexity growth and supporting many popular languages while being capable of utilizing source code metainformation during analysis (e.g., commit history, merge request discussions). The system includes classical methods, such as abstract syntax tree search, dataflow analysis, symbolic execution, and new methods based on machine learning and large language models for error detection and cross-verification. We discuss the system's design and its implementation in the SharpChecker, an industrial static analyzer, including an ensemble of relevant analysis methods. The system considers the main use cases for the analyzer, proposes a scheme for interaction and data exchange between its components. The paper presents brief results of performance, precision, and recall of the system on the set of open source projects with more than 5 million LOC, illustrating high performance.

PROGRAMMNAYA INGENERIAVol. 16(10)
Openalex Percentile: Top 69%
Software Reliability and Analysis Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.