To get a trial key
fill out the form below
Team License (standard version)
Enterprise License (extended version)
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Request our prices
New License
License Renewal
--Select currency--
USD
EUR
GBP
RUB
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
PVS-Studio analyser
logo
PVS-Studio is a static analyzer on guard of code quality, security (SAST), and code safety
1. Download
2. Request a trial key
3. Request prices
1. Download
Download the PVS-Studio analyzer distribution
--Choose platform--
Linux
macOS
Windows
--Choose language--
C, C++
C#
Java
--Distribution format--
rpm
deb
tgz
rpm
deb
tar.gz
pkg
tgz
tar.gz
exe
exe
exe
Download
Quick launch
2. Request a trial key
Request our trial key to test the analyzer's abilities
--Select a license type--
Team License
Enterprise License
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
3. Request prices
Request our prices
--Select currency--
USD
EUR
GBP
RUB
* By clicking this button you agree to our Privacy Policy statement

** This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
When it is time to use the PVS-Studio analyzer
For a developer
You make occasional mistakes during development
Debugging when searching for errors is time consuming
Errors get into the version control system
Once an error is found by QA specialists, it’s difficult to debug that code
For a manager
Frequent returns to old tasks due to bugs
Users report errors in your products
You hire more developers but notice a code quality decline
With the increasing amount of code, it is difficult to assess its quality and reliability
For a security professional
Difficulties with external code audit
Potential customers require the use of such tools
Clients require to use security and safety standards in development
How PVS-Studio finds potential vulnerabilities

PVS-Studio detects various errors – typos, dead code, and potential vulnerabilities (Static Application Security Testing, SAST).

The analyzer matches warnings to the Common Weakness Enumeration, SEI CERT Coding Standards, and supports the MISRA standard.

Click the links below to see PVS-Studio warning classifications for various standards:

You can integrate PVS-Studio into
IDE
Visual Studio
IntelliJ IDEA
Qt Creator
Eclipse
Distributed build
Game engines
Unreal Engine
Code quality
Build systems
MSBuild
CMake
Make
Ninja
Gradle
Maven
Embedded
Keil µVision, DS-MDK
IAR Embedded Workbench
Platform.io
QNX Momentics
TI ARM Code Generation
Virtualization
WSL
Supported languages and compilers

Windows

Visual Studio, C, C++, C++/CLI, C++/CX (WinRT)

MinGW C, C++

Windows/Linux/macOS

GNU Arm Embedded Toolchain, Arm Embedded
GCC compiler, C, C++

Qt Creator, Eclipse, GCC, Clang, C, C++

IntelliJ IDEA, Android Studio, Java

Visual Studio, JetBrains Rider, C#, .NET Framework, .NET Core

Windows/Linux

IAR Embedded Workbench, C/C++ Compiler for ARM C, C++

QNX Momentics, QCC C, C++

Keil µVision, DS-MDK, ARM Compiler 5/6 C, C++

Texas Instruments Code Composer Studio, ARM Code
Generation Tools C, C++

MPLAB XC8 C

Problem types that PVS-Studio detects
Quality
Typos
Null pointer/reference dereference
Array index out of bounds
Incorrect shift operations
and others.
Security
Safety
PVS-Studio license types
Team License
Command line
Visual Studio
IntelliJ IDEA
Rider
Jenkins
TeamCity
SonarQube
Commit checks
IncrediBuild
Unreal Engine
Notifications
Request a trial key Trial key
Request prices
Enterprise License
Command line
Visual Studio
IntelliJ IDEA
Rider
Jenkins
TeamCity
SonarQube
Commit checks
IncrediBuild
Unreal Engine
Notifications
Request a trial key Trial key
Request prices
The number of diagnostics
in PVS-Studio increases each year
Number of diagnostics
Number of diagnostics
Release dates (indicated by dots on the graph)
Customers choose PVS-Studio for...
Expert technical support

Over the years, we have built a team of proven code analysis experts. Clients get support directly from our analyzer developers.

Open communication with users

We publish bug reviews of open-source projects to demonstrate the analyzer's abilities. It’s easy to download and try the analyzer on your project. All this helps us get real feedback from users and offer them what they need.

Ease of use

To take a quick peek at the analyzer, use the compilation monitoring system. It is designed for Windows and Linux and does not require you to integrate PVS-Studio into a project.

Diagnostic abilities

We have developed more than 900 diagnostic rules and add new ones every month.

Cross-platform integration

Many apps are created for several platforms to meet the current market's demand. Our cross-platform analyzer provides such clients with full code coverage.

Easy-to-use analyzer reports

The analyzer reports are available in Html, Xml, Csv, Txt, Json, CompileError, TaskList, TeamCity formats. The report generator itself is posted on GitHub for custom modifications.

Convenient CLI

You can choose one of the three easy approaches: run the analyzer from the command line, integrate it into a build script or CI.

Plugins

To enhance interaction with the analyzer, we provide plugins for Visual Studio, IntelliJ IDEA, Rider, SonarQube, Jenkins, and other similar products.

Mode for checking Legacy code

Some clients are uncertain about introducing an analyzer into their development process because of the large code base. PVS-Studio accommodates these clients by introducing Legacy code checking mode. You can install PVS-Studio, hide warnings for old (Legacy) code until later, and use the analyzer to check new code.

Dealing with false alarms

Static analysis implies you’ll get false warnings. In addition to contacting our support, users have many ways to deal with false positives. This makes the work with the analyzer very convenient.

How to work with PVS-Studio
Have you just run the analyzer and now you have no idea what to do with all this abundance of warnings?
Nothing to worry about - we made a special mechanism that can help you deal with them. In this video, you'll learn about the inner workings of mass warnings suppression mechanism in PVS-Studio for C++.
How does PVS-Studio do all this?
The pattern-based analysis that is based on an abstract syntax tree searches for fragments in the source code that are similar to the known code patterns with an error.
Method annotations provide more information about the used methods than one can obtain by analyzing only their signatures.
Data-flow analysis is used to evaluate limitations that are imposed on variable values when processing various language constructs. For example, data-flow analysis helps evaluate values that a variable can take inside if/else blocks.
Type inference that is based on a program semantic model provides the analyzer with full information about all variables and statements in the code.
Symbolic execution evaluates variables' values that can lead to errors, performs checks of values' range.
Tainted data analysis detects cases when an application uses unverified user data. Trusting such data excessively may cause vulnerabilities (for example, SQLI, XSS, path traversal).
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site.
Learn More →
Accept