Getting acquainted with PVS-Studio source code analyzer

03.06.2013

Introduction

We develop the PVS-Studio static code analyzer for C/C++/C++11.

PVS-Studio is a static code analyzer for C/C++ (Visual Studio and Embarcadero RAD Studio) with a simple licensing and pricing policies which is easy to install and use without need to deploy a complex maintenance environment.

Features

PVS-Studio installation is quite simple. For optimal user experience with analyzer, it is advisable to have one of these IDEs installed on your system: Microsoft Visual Studio or Embarcadero RAD Studio. For 64-bit applications analysis, it is preferable to have a 64-bit compiler for Visual Studio (available for all supported versions) or RAD Studio (available starting from XE3).

After installation, PVS-Studio is integrated in the IDE menu as shown in figure.

Figure 1: PVS-Studio integration into Microsoft Visual Studio

Figure 1: PVS-Studio integration into Microsoft Visual Studio

Figure 2: PVS-Studio integration into Embarcadero RAD Studio

Figure 2: PVS-Studio integration into Embarcadero RAD Studio

There are sets of rules included into PVS-Studio:

  • Diagnostics of 64-bit errors (Viva64)
  • Diagnostics of parallel errors (VivaMP)
  • Diagnostics of general-purpose issues
  • Diagnostics of possible optimizations

Using PVS-Studio analyzer, you can enhance the quality of a software product, reduce time of development and testing of the solution, and to provide code security.

Bugs search is conducted by static analysis technology, this lets you diagnose problems without running the application and the analysis is independent from your development environment. This is particularly important for errors diagnostics in parallel programs.

All the diagnosed errors are described in detail in the online help system that can be opened from PVS-Studio by clicking on the error message. PVS-Studio help system is also available online at our site.

In the distribution kit, special project examples of code bugs are supplied together with PVS-Studio, the analyzer work can be studied on these examples.