Sooner or later, any developer working with C-like languages gets the idea of treating a two-dimensional array as a one-dimensional one. The reasons vary, but the result is usually the same. In...
Get ready for code smells, classic errors, and typos when checking the TDengine project using PVS-Studio. Much of this is avoidable if we design code carefully from the beginning, keep the...
Many people know that code cleanliness affects its maintainability and stability, but what about bugs? In this article, we'll explore real examples to see how dirty code can lead to problems—and...
The analysis of the TDengine project code using PVS-Studio reveals classic errors and typos. Developers could've avoided many of them if they had carefully designed the code in the first place...
Last time, we discussed common approaches to detecting vulnerabilities in applications. This time, we'll take a more down-to-earth look at how we've implemented these mechanisms in our...
This is a second part of the story on how the C and C++ languages came to be as we know them today. Here, we'll cover the official certification of C and C++, as well as the tools released...
Your attention is invited to the complete list of e-book parts (12 parts out of 11) on undefined behavior. This is not a textbook, as it's intended for those who are already familiar with...
Your attention is invited to the final 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...