Direct integration with build systems
-
CMake
-
MSBuild
PVS-Studio becomes a native part of the build process.
Webinar «Go vet can't go: How to create your own Go analyzer?» on September 30. Register
Supports:
Available on:
PVS-Studio meets your build process
where you need it
PVS-Studio becomes a native part of the build process.
PVS-Studio can analyze any project regardless of the build system:
PVS-Studio works with JSON Compilation Database files generated by some build systems.
PVS-Studio can work with distributed build systems such as Incredibuild, running preprocessing and analysis remotely.
Built to work with the compilers you already use
Runs the way you already work
Catch issues as you write code in
Built for CI/CD and build automation — runs in
Deep analysis for embedded C and C++, with support for custom toolchains and MISRA compliance assessment.
Integration with the Unreal Engine toolchain, Unreal Build Accelerator support, and UE-specific diagnostic rules. Shaped by years of collaboration with Epic Games.
PVS-Studio also maps analyzer warnings to the CWE classification.
Early detection improves code reliability and security while reducing risks in production.
Bring PVS-Studio into a legacy project without the pain of fixing everything at once.
PVS-Studio uses multiple analysis techniques to understand complex C and C++ code and detect bugs and security vulnerabilities.
Core technologies:
Choose how to manage and track analysis results:
Years of analyzing open source projects have helped us build deep expertise in finding real-world C and C++ issues. In return, the analyzer is free for open source.
PVS-Studio supports C90, C99, C11, C17, C23, C++98, C++03, C++11, C++14, C++17, C++20 and C++23 standards.
PVS-Studio detects a wide range of issues, including out-of-bounds access, arithmetic overflows and underflows, undefined behavior, uninitialized variables, buffer overruns, resource leaks, and incorrect type handling. It can also detect errors caused by incorrectly understanding how functions and classes work. See the full list of diagnostic rules for more details.
We strongly recommend building the project first. Without a build, some information needed for analysis may be unavailable, which can lead to incomplete or inaccurate results.
Yes. PVS-Studio can analyze multiple files in parallel using multiple threads. For large projects, analysis can also be distributed across multiple machines with Incredibuild to further reduce analysis time.
Yes. PVS-Studio for C and C++ is statically linked, so it works on any Linux distribution.
No. PVS-Studio is an on-premise solution, but it can also be deployed in your cloud environment.
Yes. Technical support from the analyzer development team is included with every PVS-Studio license.
No. PVS-Studio focuses on finding and explaining issues rather than automatically changing source code. Many findings involve complex logic or program behavior. PVS-Studio explains each issue in detail and provides examples of problematic code and possible fixes in its documentation and blog.
PVS-Studio doesn't allow users to create custom rules. But if there's a rule you'd like to see, you can request it from our support team. You can also use user annotations and configure the analyzer to extend the behavior of existing diagnostic rules.
PVS-Studio releases a new version six times a year. Customers can also get beta versions with requested features ahead of the next release, as soon as those features are ready. See the release history for the full list of changes.