How to NOT Drown in the Static Analyzer’s First Report? [Mass Suppression] 

Have you ever used a statistical analysis tool on a new large project? If you have, you must know that the first scan may produce over 1 thousand and in some cases over 10 thousand warnings. 📑 Luckily, you can control which warnings you want to work with. For example, you can limit the analysis to your project’s newest code. 👶🏻

This video describes one of the ways to do so. We call this approach mass suppression, and it is especially helpful for large projects.

Have fun watching this video and coding 🙂

How to speed up building and analyzing of your project with IncrediBuild?

“How much longer are you going to build it?” – a phrase that every developer has uttered at least once in the middle of the night. Yes, a build can be long and there is no escaping it. One does not simply redistribute the whole thing among 100+ cores, instead of some pathetic 8-12 ones. Or is it possible?

Continue reading

Hidden reefs in string pool, or another reason to think twice before interning instances of string class in C#

As software developers, we always want our software to work properly. We’ll do everything to improve the software quality. To find the best solution, we are ready to use parallelizing or applying any various optimization techniques. One of these optimization techniques is the so-called string interning. It allows users to reduce memory usage. It also makes string comparison faster. However, everything is good in moderation. Interning at every turn is not worth it. Further, I’ll show you how not to slip up with creating a hidden bottleneck in the form of the String.Intern method for your application.

Continue reading

What is SAST And How Does It Help a Developer?

Have you ever met such an abbreviation as SAST? If you have been developing for a long time, then you’re heard of it for sure. However, you might not have given it any importance. In doing so, you’re definitely wrong, because this is an incredibly important thing for the entire development process. 🦾 Today we will tell you why it is so important and how it is deciphered 🤓

Enjoy the video and have clean code 🙂

What is yield and how does it work in C#?

C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it’s like magic – inexplicable, but intriguing. This article shows how yield works and what this peculiar word hides. Have fun reading!

Continue reading

CWE Top 25 2021. What is it, what is it for and how is it useful for static analysis?

For the first time PVS-Studio provided support for the CWE classification in the 6.21 release. It took place on January 15, 2018. Years have passed since then and we would like to tell you about the improvements related to the support of this classification in the latest analyzer version.

Continue reading

How to Hide the Analyzer False Positives?

If you’re using a static analyzer, most likely you stumble upon cases when it gets something wrong and gives false positives 👎 So, somehow you need to tell it about an incorrect case and let a false warning go to long rest 💤 The good news is that we have a special mechanism for this that we’ll tell you about today.

Have a good watch and clean code 🙂

Date processing attracts bugs or 77 defects in Qt 6

The recent Qt 6 release compelled us to recheck the framework with PVS-Studio. In this article, we reviewed various interesting errors we found, for example, those related to processing dates. The errors we discovered prove that developers can greatly benefit from regularly checking their projects with tools like PVS-Studio.

Continue reading