Webinar «Go vet can't go: How to create your own Go analyzer?» on September 30. Register

Static code analysis
for cross-platform
C and C++ development

Supports:

C90 – C23 C++98 – C++23

Available on:

macOS x86-64/ARM Windows x86-64/ARM Linux x86-64

Build systems

PVS-Studio meets your build process
where you need it

Direct integration with build systems

  • CMake
  • MSBuild

PVS-Studio becomes a native part of the build process.

Compilation monitoring for all supported compilers

PVS-Studio can analyze any project regardless of the build system:

  • on Windows, it intercepts compiler calls;
  • on GNU/Linux, compilation tracing is used.

Speed up C and C++ analysis by distributing it across multiple machines

PVS-Studio can work with distributed build systems such as Incredibuild, running preprocessing and analysis remotely.

Incredibuild

Compilers

Built to work with the compilers you already use

GCC IAR Keil Texas Instruments and more
  • Texas Instruments Code Composer Studio, C6000-CGT, C2000-CGT
  • GNU Compiler Collection C and C++ compilers (gcc.exe, g++.exe)
  • GNU toolchain for RISC-V
  • GNU Arm Embedded Toolchain
  • Clang-based C and C++ compilers (clang.exe)
  • IAR C/C++ Compiler for ARM
  • Keil MDK ARM Compiler 5/6
  • Borland C++
  • QCC
  • KCC

IDEs and CLI

Runs the way you already work

In your IDE

Catch issues as you write code in

  • Visual Studio
  • Visual Studio Code
  • IntelliJ IDEA
  • Rider
  • CLion
  • Qt Creator

In command-line interface

Built for CI/CD and build automation — runs in

  • Jenkins
  • TeamCity
  • Travis CI
  • Circle CI
  • GitHub Actions
  • GitLab

PVS-Studio analyzes any C and C++ code
and is particularly strong for
PVS-Studio
for C and C++ code
is particularly
strong for

Embedded systems

Deep analysis for embedded C and C++, with support for custom toolchains and MISRA compliance assessment.

Learn more

Game Development

Integration with the Unreal Engine toolchain, Unreal Build Accelerator support, and UE-specific diagnostic rules. Shaped by years of collaboration with Epic Games.

Learn more

Try PVS-Studio for free or book a demo

PVS-Studio detects issues
covered by industry standards

PVS-Studio also maps analyzer warnings to the CWE classification.

CWE

Early detection improves code reliability and security while reducing risks in production.

PVS-Studio is easy to integrate
into everyday C and C++ development

Tackle legacy code

Bring PVS-Studio into a legacy project without the pain of fixing everything at once.

  • Show warnings only for newly introduced issues.
  • Reduce technical debt incrementally as time allows.

Benefit from technologies

PVS-Studio uses multiple analysis techniques to understand complex C and C++ code and detect bugs and security vulnerabilities.

Core technologies:

  • signature analysis
  • taint analysis
  • pattern-based analysis
  • data-flow analysis
  • symbolic execution
  • function and type annotations
  • interprocedural and intermodular analysis

Manage analysis results

Choose how to manage and track analysis results:

  • Use PVS-Studio Atlas, a native platform for reviewing, managing, and tracking analysis results across projects.
  • Integrate with code quality dashboards such as SonarQube, DefectDojo, and CodeChecker to track results.
PVS-Studio Atlas
SonarQube
DefectDojo
CodeChecker

FAQ: Project analysis

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.

FAQ: About PVS-Studio

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.

Try PVS-Studio for free or book a demo