Big PVS-Studio Update: Version 6.00 with C# Support
PVS-Studio 6.00 is now released! This is one of major updates for us. Hopefully, this information will be beneficial for our current and new users of the analyzer.
Static analysis for C#
We have added C# analysis support. We have already implemented more than 40 diagnostics for the C# module of the analyzer and this number will continue growing. Although the C# language is much more accurate than C++, we have noticed that some errors are not related to the programming language.
For example, it is so-called "Last line effect". We saw that very often an error gets to the last line of the code block that was written with Copy-Paste method. Unfortunately, it is impossible to protect yourself against such errors no matter how comfortable and well-thought out the language is. There are many more examples of such errors that are common for both C# and C++ languages.
How did we come up with the idea to make a C# analyzer? Currently (December, 2015) we have 235 diagnostics for C++. It turned out that only a part of them are related to coding in C++, the others are typical for C# as well. We have done the analysis of these diagnostics and chose those ones that could be relevant for C#. Besides that we researched the market of other C# analyzers and programming tools for working with the code. We saw that there is some room for our analyzer.
In order not to reinvent the wheel, we have taken Roslyn platform as the basis for our analyzer.
Support for Visual Studio 2005 and 2008 ended
For those who are already using PVS-Studio, the important news is that we are no longer supporting Visual Studio 2005 and Visual Studio 2008 starting from the 6.00 version of the analyzer. Thus PVS-Studio now supports all versions of Visual Studio from 2010 until 2015 (for the current moment – December, 2015). It is a compulsory measure for us. The more versions of Visual Studio we support, the harder it is to maintain them.
Firstly, according to the information we have very few users of PVS-Studio work with VS2005 or VS2008.
Secondly, we run tests for each version of Visual Studio we support. Consequently, the more versions need to be supported, the more tests will be located on the server.
Thirdly, it's not that easy to install and use the whole product line of Visual Studio 2005-2015 due to the conflicts of the versions.
That's why with the release of our 6.00 version we ceased supporting old versions of Visual Studio.
To make the transition process smoother, we will still provide the old 5.XX version of PVS-Studio during some period of time for those who continue working with VS2005 and 2008.
We plan to continue developing this analyzer for our "traditional" languages - C and C++.
Besides that we will also work on the development of C# analyzer. In our "ToDo" list there are many more new diagnostics waiting to be implemented.
So now it's the right time to download the analyzer and run it on your code - whether it be written in C, C++ or C#.