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

Request our prices
New License
License Renewal
--Select currency--
* By clicking this button you agree to our Privacy Policy statement

Free PVS-Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

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

I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

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.

About us
About us
Our mission is to improve software quality through promoting the use of static code analysis in the world.
WHAT we do ?

We develop, promote, and sell the PVS‑Studio static analyzer for C, C++, C#, and Java code.

Our mission is to improve software quality through promoting the use of static code analysis in the world.
WHERE you can find us

Conferences. So far, we’ve attended over 175 conferences where we gave talks. You may have seen us at CoreHard, DevGAMM, SECR and others.

Watch conference videos

Our website. We process and post analysis results, we talk about integration experience etc.

See all articles

Social media. We talk about the team and the company, discuss languages, and even teach.

Related resources. Authors talk about us on habr, Java Annotated Monthly, and other resources.

Go to our blog on habr

WHEN numbers are important
> 900
diagnostics written for the analyzer
> 380
open-source projects checked
> 200
active clients
> 30
team members
> 1000
articles written
> 100
conferences attended
We find errors and destroy myths
Myth: static analysis is for newbies, experts do not make mistakes.
We disagree. And we have facts to prove it. Below are some of the projects where the PVS‑Studio analyzer found errors:
We grow
2006, beginning
The idea to make an analyzer for the detection of errors during the migration of code to 64-bit systems. At that time 64-bit processors, 64-bit Windows operating systems, and the first 64-bit C++ compiler for Windows as a part of Visual Studio 2005 were emerging on the market. During that boom of 64-bit changes, we wanted to make a tool that would quickly become very popular, and make us rich. But we couldn't. The tool did not become very popular, and the real gain came many years later, after a long series of failures and successes.
The first public release of Viva64 1.00 on the web.
Founding of OOO Program Verification Systems.
Viva64 2.00 release.
The first beta version of VivaMP, an analyzer built for issues in multithreaded programs, built with the help of OpenMP technology. We did not manage to start up with 64-bit errors, but we saw that new computers with several kernels started appearing on the market. They would probably need software supporting parallel work. This was our chance!
VivaMP 1.00 release.
The release of PVS-Studio 3.00, in which Viva64 and VivaMP are combined as one product.
The release of PVS-Studio 4.00 beta-version, with a new set of general analysis diagnostic rules (General Analysis, V501-V545). Originally, the new diagnostics were free, and were created as a way to attract attention to the 64-bit and OpenMP code analyzers. We almost made a fatal mistake here.
PVS-Studio 4.00 release, in which the General Analysis diagnostics became paid. Still, we had not made our major mistake. Starting in 2011 we were coming to a real understanding of how our tool could be useful to people, how to make it, and the main thing - how to market it. In this version, we also made the first corporate licenses (Site License).
Incremental analysis in PVS-Studio 4.30 - The ability to run the analyzer automatically for files that have just been edited or recompiled. This allowed the use of PVS-Studio regularly on the local machines of the developers, and the fixing of bugs before they appear in the version control system.
With the release of PVS-Studio 4.32, we refused the use of a single-user license. This was one of the best business-solutions in the company's history.
PVS-Studio 4.50 starts using Clang, not only Visual C++ for preprocessing (and only for it!).
100 general analysis diagnostics (V501-V600) in PVS-Studio 4.53.
A new trial-mode in PVS-Studio 4.54 - Now the only limitation was clicks (jumps to the fragments with the errors), instead of a limitation of the error display.
A new set of diagnostics in PVS-Studio 4.60 - "Micro-optimizations" to search for fragments where performance loss could be detected by a static analyzer.
Integration into Embarcadero RAD Studio in PVS-Studio 5.00. We thought there were a lot of users of C++Builder. We were wrong. Or, perhaps we didn't manage to reach them.
A separate Standalone application in PVS-Studio 5.00.
Release of CppCat 1.00 - a cheap version of the analyzer, based on PVS-Studio. We called it a "PVS-Studio version for 250$". The idea was to make a high-quality, low cost analyzer. It was much cheaper. So that supposedly, more developers would buy and use our solutions. Perhaps we would discontinue developing PVS-Studio altogether, which we viewed as a large and heavy product having a long history, as opposed to an easy and young CppCat, where the simple interface was combined with the great abilities of a code analyzer.
CLMonitoring function in PVS-Studio 5.18 - the interception of a compiler call.
The ability to perform mass suppression of uninteresting warnings in PVS-Studio 5.20. This feature significantly simplified the implementation process of the analyzer into the development process.
We grew mature enough to start removing code, not only writing it. We removed the support of Embarcadero RAD Studio and OpenMP diagnostics (the remains of VivaMP analyzer, which died long before it was "buried").
We closed down the CppCat project. The world didn't understand the value of our idea. We sold only a few licenses, and these were mainly to people who knew us because of PVS-Studio. De facto, we lost several of our PVS-Studio clients, whom we had to talk into going back to PVS-Studio later, which was a difficult thing to do. A low price, cool and simple interface, even the cat logo, didn't help. (Programmers are supposed to love cats, right?) Of course, we probably just cannot sell cheap tools. That was our one and a half year experiment, and we aren't going back to it.
Static code analysis for C# code in PVS-Studio 6.00 (more than 40 diagnostics).
We added the separate PVS-Studio command line version (PVS-Studio_Cmd), which supports vcxproj and csproj projects check (C++ and C#).
In PVS-Studio 6.05, we reached the number of 100 diagnostics for C# much faster - 10 months of development instead of 19 months for C++. However, the C# team was considerably larger and we were using Roslyn (its Code Analysis Framework, to be precise). I feel like writing: "There used be great programmers indeed!" But at that time we couldn't estimate the complexity of the product and its support and much more.
PVS-Studio no longer supports 32-bit operating systems.
Integration with SonarQube is now available in PVS-Studio.
PVS-Studio 6.10 gets a Linux version. Although we tried to avoid it for so many years...
Visual Studio 2017 support.
We added the integration with Jenkins.
You can save analysis results in the HTML format with full navigation along the code. This enables working with PVS-Studio reports on computers without full deployment of the entire codebase.
Added support for CWE (Common Weakness Enumeration) and SEI CERT. From this moment on, PVS-Studio is a complete SAST solution.
In PVS-Studio 6.22, we added compilers' support for embedded systems. Developers who used Keil and IAR, could be the first to try the analyzer on their projects. We also released support of GNU Arm Embedded Toolchain and Texas Instruments Code Composer Studio.
In 2018 the PVS-Studio static code analyzer has become able to classify its warnings according to MISRA C and MISRA C++ standards. Due to support of these standards it has become possible to effectively use the analyzer to increase the level of security, portability and reliability of programs for embedded systems.

In PVS-Studio 7.00, the analyzer for Java has appeared. The first version already included 66 diagnostics. The analyzer was designed not from scratch. We've taken the logic of the C++ analyzer and formed it into a separate library. After that we used it with the Java parser. Thus the first version of the analyzer adopted the best practices of more that ten years of experience of developing static code analyzers. We made plugins for Maven, Gradle, IntelliJ IDEA and SonarQube for users. You can run the analyzer on three platforms: Windows, Linux and macOS.


2018 year has became the year of conferences for us. During this year, there were about 23 of them which is a record for us so far. We had talks, meetups and workshops on some of them or had booths and just listened to someone's talks during the other ones. Some conferences required doing all of this. Sure, we had participated in various activities of different levels before, but not that actively, as we do now. Here is the link to our review article with the list of conferences and videos of talks.


On all platforms, we moved to the same trial option: a request of a one-week key from the site. Without the key the program is not fully functional. At the conferences we provide temporary keys for a month. In addition to a couple program runs, within one month a person can introduce the tool into the development process to see how the product performs in daily use.


Visual Studio 2019 support.


In PVS-Studio 7.08 it is now possible to run the C# analyzer on Linux and macOS. Another significant feature in this release is the PVS-Studio plugin for JetBrains Rider. It will allow C# developers to conveniently use the analyzer on all basic platforms.


PVS-Studio is included into the "Now Tech: Static Application Security Testing, Q3 2020" report as a SAST-specialized tool. Forrester Research is a leader in researching how innovative technologies affect business. The research report is available for purchase to Forrester Research subscribers and clients.


We continue to develop PVS-Studio as a SAST (Static Application Security Testing) tool. As a new step in this direction, we started working towards supporting the following standards: OWASP ASVS and AUTOSAR C++14 Coding Guidelines. Our website lists rules that correspond to OWASP ASVS and AUTOSAR C++14 Coding Guidelines.


PVS-Studio now provides mapping for its diagnostic rules to the list of most common security threats OWASP Top 10 Web Application Security Risks. This list is based on the general opinion of security experts from around the world. This rating helps developers and security experts find and eliminate security risks in their applications.


The PVS-Studio C# analyzer now supports .NET 5 projects. Microsoft is positioning .NET as a unified platform for cross-platform development and as a primary platform it will focus on in the future. .NET 5 is the first implementation of this platform. To learn more about .NET 5 support, see our blog.

We are proud of our team:
We are proud of our clients:
We are proud of our team:
We talk about static code analysis –
and more
PVS-Studio ROI

Date: Jan 30 2019

Author: Andrey Karpov

Occasionally, we're asked a question, what monetary value the company will receive from using PVS-Studio. We decided to draw up a response in the form of an article and provide tables, which will sho…
Static analysis as part of the development process in Unreal Engine

Date: Jun 27 2017

Author: Andrey Karpov

Unreal Engine continues to develop as new code is added and previously written code is changed. What is the inevitable consequence of ongoing development in a project? The emergence of new bugs in th…
How PVS-Studio Proved to Be More Attentive Than Three and a Half Programmers

Date: Oct 22 2018

Author: Andrey Karpov

Just like other static analyzers, PVS-Studio often produces false positives. What you are about to read is a short story where I'll tell you how PVS-Studio proved, just one more time, to be more atte…
The Last Line Effect

Date: May 31 2014

Author: Andrey Karpov

I have studied many errors caused by the use of the Copy-Paste method, and can assure you that programmers most often tend to make mistakes in the last fragment of a homogeneous code block. I have ne…
PVS-Studio for Java

Date: Jan 17 2019

Author: Andrey Karpov

In the seventh version of the PVS-Studio static analyzer, we added support of the Java language. It's time for a brief story of how we've started making support of the Java language, how far we've co…
Characteristics of PVS-Studio Analyzer by the Example of EFL Core Libraries, 10-15% of False Positives

Date: Jul 31 2017

Author: Andrey Karpov

After I wrote quite a big article about the analysis of the Tizen OS code, I received a large number of questions concerning the percentage of false positives and the density of errors (how many erro…
Appreciate Static Code Analysis!

Date: Oct 16 2017

Author: Andrey Karpov

I am really astonished by the capabilities of static code analysis even though I am one of the developers of PVS-Studio analyzer myself. The tool surprised me the other day as it turned out to be sma…
The way static analyzers fight against false positives, and why they do it

Date: Mar 20 2017

Author: Andrey Karpov

In my previous article I wrote that I don't like the approach of evaluating the efficiency of static analyzers with the help of synthetic tests. In that article, I give the example of a code fragment…
Technologies used in the PVS-Studio code analyzer for finding bugs and potential vulnerabilities

Date: Nov 21 2018

Author: Andrey Karpov

A brief description of technologies used in the PVS-Studio tool, which let us effectively detect a large number of error patterns and potential vulnerabilities. The article describes the implementati…
The Evil within the Comparison Functions

Date: May 19 2017

Author: Andrey Karpov

Perhaps, readers remember my article titled "Last line effect". It describes a pattern I've once noticed: in most cases programmers make an error in the last line of similar text blocks. Now I want t…
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 →