Reworking C and C++ front-end — or how we deal with 16-year legacy code in PVS-Studio https://pvs-studio.com/en/blog/posts/cpp/0992/
PVS-Studio
Reworking C and C++ front-end — or how we deal with 16-year lega…
In 2022, the PVS-Studio static analyzer for C and C++ turns 16 years old. If the analyzer were a human, it would have already finished high school! This project was started a long time ago,…
A talk with Jason Turner: the history of CppCast, and why it was shut down https://pvs-studio.com/en/blog/posts/cpp/0993/
PVS-Studio
A talk with Jason Turner: the history of CppCast, and why it was…
In this article, we are going to talk to Jason Turner, one of the CppCast founders. CppCast is the first podcast for C++ developers by C++ developers. From 2015 to 2022 CppCast had weekly c…
Stride Game Engine error review https://pvs-studio.com/en/blog/posts/csharp/0994/
PVS-Studio
Stride Game Engine error review
Stride is a free, feature-packed and cross-platform game engine implemented in C#. Stride may certainly become an alternative to Unity, but what about the quality of its source code? Let′s …
Do you plan to take on .NET MAUI? Get ready for an adventure with NullReferenceException https://pvs-studio.com/en/blog/posts/csharp/0996/
PVS-Studio
Do you plan to take on .NET MAUI? Get ready for an adventure wit…
.NET Multi-platform App UI is a framework written by professionals. However, the code of some of its functions looks like the developers could have forgotten what null reference dereferenci…
Misbeliefs in programming career or how to survive as a newcomer https://pvs-studio.com/en/blog/posts/0997/
PVS-Studio
Misbeliefs in programming career or how to survive as a newcomer
This article is purposed to be in a friendly spirit manner and carries neither mockery, nor snobbery. It intends to protect from unnecessary stress those who are entering the programming wo…
Is there life without RTTI or How we wrote our own dynamic_cast https://pvs-studio.com/en/blog/posts/cpp/0998/
PVS-Studio
Is there life without RTTI or How we wrote our own dynamic_cast
There aren′t many things left in modern C++ that don′t fit the Don′t pay for what you don′t use paradigm. One of them is dynamic_cast. In this article, we′ll find out what′s wrong with it, and...
Top 10 C++ conference talks 2019—2022 https://pvs-studio.com/en/blog/posts/cpp/0999/
PVS-Studio
Top 10 C++ conference talks 2019—2022
Lots of interesting developer conferences take place in the world. It would be great to invent teleportation so you could attend every talk you′re interested in, but let′s make things easier. You can...
How PVS-Studio prevents rash code changes, example N6 https://pvs-studio.com/en/blog/posts/cpp/1001/
PVS-Studio
How PVS-Studio prevents rash code changes, example N6
Developers often make mistakes accidentally, or because they are in a hurry. Wondering how to find such mistakes quickly? Welcome to another article in the How PVS-Studio prevents rash code…
What's new in C# 11: overview https://pvs-studio.com/en/blog/posts/csharp/1002/
PVS-Studio
What′s new in C# 11: overview
C# 11 is coming, so we′re going to explore its new features in detail. You may find these new features pretty curious even though there are not that many of them. Today let′s take a closer look at...
Examples of errors that PVS-Studio found in LLVM 15.0 https://pvs-studio.com/en/blog/posts/cpp/1003/
PVS-Studio
Examples of errors that PVS-Studio found in LLVM 15.0
Compilers are evolving: they issue more and more warnings. Do developers still need to use static code analyzers like PVS-Studio? Yes, because analyzers are evolving too. In this article yo…
0,1,2, Freddy came for Blender https://pvs-studio.com/en/blog/posts/cpp/1004/
PVS-Studio
0,1,2, Freddy came for Blender
This article could have been named How PVS-Studio prevents rash code changes, example N7. However, naming articles like that becomes boring. So today Freddy Krueger′s name is in the title, …
How we were looking for a bug in PVS-Studio or 278 GB of log files https://pvs-studio.com/en/blog/posts/cpp/1005/
PVS-Studio
How we were looking for a bug in PVS-Studio or 278 GB of log fil…
Here is an interesting story of how our team were looking for a bug in the PVS-Studio analyzer. Well, we make mistakes too. However, we are ready to roll up our sleeves and dive deep into t…
Lifetime extension of temporary objects in C++: common recommendations and pitfalls https://pvs-studio.com/en/blog/posts/cpp/1006/
PVS-Studio
Lifetime extension of temporary objects in C++: common recommendations and pitfalls
After reading this article, you will learn the following: ways to extend the lifetime of a temporary object in C++, various tips and tricks; pitfalls of the lifetime extension that a C++ programmer...
Lifetime extension of temporary objects in C++: common recommendations and pitfalls https://pvs-studio.com/en/blog/posts/cpp/1006/
PVS-Studio
Lifetime extension of temporary objects in C++: common recommendations and pitfalls
After reading this article, you will learn the following: ways to extend the lifetime of a temporary object in C++, various tips and tricks; pitfalls of the lifetime extension that a C++ programmer...
Catastrophic backtracking: how can a regular expression cause a ReDoS vulnerability? https://pvs-studio.com/en/blog/posts/csharp/1007/
PVS-Studio
Catastrophic backtracking: how can a regular expression cause a ReDoS vulnerability?
Regular expressions come in handy when you need to search for and replace text. However, in some cases, they may cause the system to slow down or even make vulnerable to ReDoS attacks.
A software bug captured Apple and other huge companies https://pvs-studio.com/en/blog/posts/1008/
PVS-Studio
A software bug captured Apple and other huge companies
We collected some hot stories about programming errors for you to have a little fun and learn something new. Keep reading to find out how one programmer broke the Internet by deleting a tin…