In November 2016, we posted an article about the development and use of the PVS-Studio plugin for SonarQube. We received great feedback from our customers and interested users who requested testing the plugin on a real project. As the interest in this subject is not decreasing, we decided to test the plugin on a C# project PascalABC.NET. Also, it should be borne in mind, that SonarQube have their own static analyzer of C# code - SonarC#. To make the report more complete, we decided to test SonarC# as well. The objective of this work was not the comparison of the analyzers, but the demonstration of the main peculiarities of their interaction with the SonarQube service. Plain comparison of the analyzers would not be fair due to the fact that PVS-Studio is a specialized tool for bug detection and potential vulnerabilities, while SonarQube is a service for the assessment of the code quality by a large number of parameters: code duplication, compliance with the code standards, unit tests coverage, potential bugs in the code, density of comments in the code, technical debt and so on.

Now let us talk about the checked project. PascalABC.NET is the new generation Pascal programming language that combines simplicity of classic Pascal, a great number of modern extensions and broad capabilities of Microsoft .NET Framework. It has its own development environment and also a Web-environment for the creation of programs in PascalABC.NET, C#, Visual Basic.NET, F#, IronPython. The project is Written in C# and is distributed under a free software license LGPLv3. The source code can be downloaded from the repository on GitHub.

PascalABC.NET solution has 2628 files with the extension 'cs', which contain about 752 thousand lines of code (the metrics were obtained using the SourceMonitor utility). Thus, the project has a reasonable size for our research purposes.

So what are the mistakes the developers have managed to find - read the article.