PVS-Studio is a tool used to detect bugs in the source code of programs written in C, C++ and C#.
PVS-Studio performs static code analysis and generates a report that helps a programmer find and fix bugs. PVS-Studio does a wide range of code checks; but it is especially useful to search for misprints and Copy-Paste errors. Examples of such errors: V501, V517, V522, V523, V3001.
The analyzer is designed for developers who use Visual Studio. It can run the analysis in the background mode on the modified files after they are compiled. Ideally, these errors should be detected and fixed before getting into the repository. But there are also such options as to check the solution as a whole or build it in the system of continuous integration. The documentation gives information about these and other methods of using the analyzer.
PVS-Studio diagnostic messages fall into three categories:
- General Analysis messages (C, C++, C#)
- Diagnosis of possible optimizations (C, C++)
- Diagnosis of 64-bit errors (C, C++)
The methodology of static code analysis we employ has significant advantages over other types of analysis since it allows you to cover the whole program code. The procedure of code check cannot damage the code itself in any way. The analysis process is completely controlled by the user and it is the developer who decides if the source code needs modification.
Integration with Microsoft Visual Studio
PVS-Studio tool is intended for developers of applications and integrates into the Visual Studio environments of 2010-2015. It provides a programmer with a convenient user interface for file analysis, code navigation and reference information. No documentation and settings knowledge needed before you start working with the analyzer. The analyzer is ready to work with right after it is installed.
- Simple and seamless integration with Visual Studio 2010-2015;
- Automatic analysis of individual files after their recompilation;
- Online-reference concerning all the diagnostics available in the program, on the web-site and documentation (presented as a .pdf file). There are up to 300 pages of documentation;
- Saving and loading of analysis results allow to do overnight checks - during the night the analyzer does the scanning and provides you with the results in the morning;
- Project analysis run from the command line: helps integrate PVS-Studio into overnight builds; a new log will be issued in the morning;
- Great scalability; support of multi-core and multi-processor systems with the possibility to specify the number of the cores to use; IncrediBuild support;
- Interactive filtering of the analysis results (the log file) in the PVS-Studio window: by the diagnostic number, file name, the word in the text of the diagnostic;
- Mark as False Alarm - ability to mark the code to suppress a certain diagnostic in a particular code fragment;
- Mass Suppression - ability to suppress "old" messages, so that the analyzer issues 0 warnings. It is especially useful when it is needed to check only the newly created code fragments;
- Error statistics can be viewed in .xml format. Ability to view the speed of error correction, amount of bugs found for a certain period of time and so on;
- Automatic check of PVS-Studio updates (during the work in IDE and overnight builds);
- Relative paths in report files to view them on different machines;
- CLMonitoring-analysis of the projects that have no Visual Studio files (.sln/.vcxproj). In case the CLMonitoring functionality is not enough, there is a possibility to integrate PVS-Studio in Makefile-based build system manually;
- Possibility to exclude files from the analysis by name, folder or mask; to run the analysis on the files modified during the last N days.
Supported languages and dialects:
- Visual Studio 2015 C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2013 C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2012 C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2010 C, C++, C++/CLI, C#
- MinGW C, C++
Demonstration of the abilities
The best way to see the benefits from the use of PVS-Studio analyzer is to run it on your own project.
PVS-Studio distribution kit can be downloaded on the download page. The demo version has restriction of the number of the click-jumps to the code fragments that contain bugs. You can get a full version of the analyzer for a short period of time by contacting us.
We also suggest reading the articles about the analysis of well-known open-source projects. Here are some of them: