Forget about ghosts! The true threats lurk in everyday things—like static_cast, which can unexpectedly drop all security efforts, and assert, which rapidly vanishes in a release build. Welcome to...
Java equips developers with convenient tools for serializing objects. Although they seem primitive at first glance, their internal implementation contains a wealth of interesting insights. In...
C and C++ are iconic languages in which a huge amount of code is written. What path have they traveled to become ones? This article covers the emergence of C and the beginning of its...
The PVS-Studio static analyzer can find errors even in such a high-quality and well-tested project as LLVM. To make sure it's not empty words, we occasionally check the project and post notes...
We all need to interact with a debugger somehow: via text or a graphical user interface. A nasty bug may appear in a program "shell" with a well-established core. Users are unlikely to like it...
You're all familiar with Telegram—you may come across it at least once on the news, or you may use it yourself. Like any other project, Telegram's code has some bugs. If you're a developer...
Do you know what's the difference between the 'Y' and 'y' characters in the Java date pattern? In this article, we'll explore how an incorrect date format can cause an error. We'll also introduce...
.NET 9 has been released, so it's time to start porting our projects to the new version! In this article, we'll look at new features and enhancements: C# 13, performance, BuildCheck, GC, LINQ...
In his abode of R'laih, the dead Cthulhu sleeps awaiting its time. In the C code of the DPDK project a myriad of errors sleeps awaiting their time. Let's see which ones the PVS-Studio analyzer...
Your attention is invited to the ninth part of an e-book on undefined behavior. This is not a textbook, as it's intended for those who are already familiar with C++ programming. It's a kind of...