About the company

We develop, market and sell PVS-Studio; a static code analyzer for code written in C, C++, C# and Java.

This is a tool for programmers, which significantly saves the finances of a company through the early detection of errors in code, by performing analysis of the source code.

Company Figures

10 Years
29 People
336 Checked Projects
12 745 Collected Errors

Company Mission

Already yawning? =) Don't be scared, our mission is clear and simple.

Our mission is the improvement of code quality. Our task is not just to find errors, but to improve the quality and standards of software development. We promote the idea of using static analysis in general. Using the methodology of static analysis saves time during development, makes the programmers more responsible, helps to monitor novice programmers, and saves money and time for the program end-users. We are sure that we should spread the news about static analysis around the world. At the same time, we are not giving an abstract idea, but suggest using an analysis tool; namely the PVS-Studio analyzer. The world expresses its gratitude by purchasing licenses.

When writing articles or speaking at conferences we do NOT say "Buy PVS-Studio and everything will be great". We say: "Use static analysis tools and everything will be great. Which one? Well, for example, PVS-Studio."

Key dates

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 reached 100 diagnostics for C# in PVS-Studio 6.05 release, which was much faster than with the C++ analyzer - 10 months of development instead of 19. However, the C# team was much bigger, and we used Roslyn (Code Analysis Framework, the part of Roslyn). I feel like writing: "There used to be great programmers indeed!" However, at that time we couldn't estimate the complexity of the product, its support, and much more.


PVS-Studio 6.10 obtains a Linux version. Although we had tried to avoid it for so many years...


The year of developing the code analyzer kernel and infrastructures: Data Flow analysis mechanism is significantly improved, integration with SonarQube, support of Common Weakness Enumeration (CWE), HTML report with possible navigation along the code.



Bugs Found

Checked Projects
Collected Errors
12 745