To get a trial key
fill out the form below
Team License (a basic version)
Enterprise License (an extended version)
* By clicking this button you agree to our Privacy Policy statement

Request our prices
New License
License Renewal
--Select currency--
USD
EUR
RUB
* By clicking this button you agree to our Privacy Policy statement

Free PVS-Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
>
>
C#
Posts: articles
Aug 11 2021
Optimization of .NET applications: a big result of small edits
Sergey Vasiliev
Today we're going to discuss how small optimizations in the right places of the application can improve its performance. Imagine: we remove the creation of an extra iterator in one place, get rid of boxing in the other. As a result, we get drastic improvements because...
...
Aug 09 2021
VSCode: how to view reports of static analyzers that support SARIF
Nikolay Mironov
People increasingly start optimizing the process of finding code errors using static analyzers. Nowadays, we can choose from a variety of products to view analysis results. This post covers the ways how to view an analyzer report in the most stylish and feature-rich...
...
Jul 21 2021
Enums in C#: hidden pitfalls
Sergey Vasiliev
C# has low barriers to entry and forgives a lot. Seriously, you may not understand how things work under the hood but still write code and remain easy-going about this. Though you still have to deal with different nuances over time. Today, we'll look at one of such...
...
Jun 30 2021
Nintendo Switch: drop test of the Ryujinx emulator's source code
Danila Karpov
Each generation, companies like Sony, Microsoft and Nintendo delight their consumers with new consoles and different games for them. Yet there is a caveat - some games exclusively run on their platforms. Whereas a console may be worth an expensive PC component or a...
...
Jun 21 2021
How WCF shoots itself in the foot with TraceSource
Nikolay Mironov
We don't often get the chance to write something on parallel programming issues. This time we "got lucky". The TraceEvent standard method has some implementation peculiarities. They resulted in an error with multiple threads blocking. So we'd like to warn users about...
...
Jun 15 2021
.NET application optimization: simple edits speeded up PVS-Studio and reduced memory consumption by 70%
Nikita Lipilin
We know many ways to detect performance problems, such as extremely low speed and high memory consumption. Usually tests, developers, or testers detect such applications' drawbacks. In the worst case, users find weaknesses and report back. Alas, detecting defects is...
...
Jun 11 2021
Why you should check values of public methods' parameters
Nikita Lipilin, Sergey Vasiliev
This note will answer the question - why PVS-Studio considers parameters of public methods potential sources of tainted data. The analyzer can issue warnings if such parameters haven't been checked before use.
...
Jun 09 2021
Unity projects analysis: the solution file has two projects named "UnityEngine.UI"
Sergey Vasiliev
While PVS-Studio analyses a Unity project, one may stumble upon such an error: Error was encountered while trying to open solution file '...': The solution file has two projects named "UnityEngine.UI". This note discusses the reasons for this error and how to eliminate...
...
Jun 03 2021
The ?. operator in foreach will not protect from NullReferenceException
Sergey Vasiliev
Do you like the ?. operator? Well, who doesn't? Many people like these concise null checks. However, today's article shows that the ?. operator may be tricky sometimes. That is, it can create an illusion of safety when used in the foreach loop.
...
Jun 01 2021
OWASP, vulnerabilities, and taint analysis in PVS-Studio for C#. Stir, but don't shake
Sergey Vasiliev
We continue to develop PVS-Studio as a SAST solution. Thus, one of our major goals is expanding OWASP coverage. You might ask, what's the use when there's no taint analysis? That's exactly what we thought - and decided to implement taint analysis in the C# analyzer...
...
View more Стрелка вниз
Showing: - of 133
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site.
Learn More →
Accept