How WCF shoots itself in the foot with TraceSource

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 this nuance and cover this interesting case from our users support practice. Why was our support involved? Keep reading to find out. Enjoy the reading!

Continue reading

How to Use Mass Suppression in PVS-Studio for C++?

Have you just run the analyzer and now you have no idea what to do with all this abundance of warnings? 📜 Nothing to worry about – we made a special mechanism that can help you deal with them 💪🏻

In this video, you’ll learn about the inner workings of mass warnings suppression mechanism in PVS-Studio for C++. If you’re interested in other programming language, follow the links bellow 🙂

Mass Suppression in PVS-Studio for C#

Mass Suppression in PVS-Studio for Java

Have fun watching this video and coding 🙂

Unity projects analysis: the solution file has two projects named “UnityEngine.UI”

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 it.

Continue reading

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 🙂