Contributions
Event
In this live coding session, we'll explain how ASTs work, show how to build them step by step, and create a printer that makes parsed code much easier to visualize and inspect.
Event
We’ll explain what a parser is, walk through the recursive descent approach, and then demonstrate how to build your own expression parser from scratch.
Article
PVS-Studio presents a live-coding tutorial series on building your own programming language in C++.
Article
The value of a skilled developer is shifting toward the ability to effectively review code. Although generating code now is easier than ever, evaluating it for proper decomposition, correctness, efficiency, and security is still important. To see why it's important to understand generated code and to recognize what lies beneath a program's elegant syntax, let's look at a small project called markus, created using Claude Opus.
Article
Even though we write code every day, we often view the compiler as a "black box." Today, let's explore how a compiler actually works, discuss its lifecycle, and see where trees come into play.
Article
This book offers insights into C++, including algorithms and practices in game development, explores strengths and weaknesses of the language, its established workflows, and hands-on solutions. In this excerpt, the author shows why C++ still rules game dev? Should you build your engine? More game dev useful stuff can be found in the article.
Article
If a pill knows what to treat, could an exception also understand when to stop its journey through the stack? In application programming, a description like this is often enough, but sometimes one wants more details. Well, let's dive in!
Article
Let's scrutinize some vibe code that promises to change the world or whatever. We'll review and analyze this code using static analysis.
Article
The internet is buzzing about GNU/Linux. People talk about the BSD family of operating systems less often than about this one. Are they more complex? Are they more boring? We'll get to the bottom of these questions with one of the most active members in the OpenBSD community!
Event
PVS-Studio presents a series of webinars on how to build your own programming language in C++. In the first session, PVS-Studio will go over what's inside the "black box". In clear and plain terms, we'll explain what a lexer, parser, a semantic analyzer, and an evaluator are.
Yuri Minaev, C++ architect at PVS-Studio, will talk about what these components are, why they're needed, and how they work.
Join us for an engaging and approachable session. See you there!
Yuri Minaev, C++ architect at PVS-Studio, will talk about what these components are, why they're needed, and how they work.
Join us for an engaging and approachable session. See you there!
Article
We invite you to read an article on how C++ is used in modern game development and why the industry is still not ready to move away from it. The author explores how C++ works at different levels of game engines and how performance requirements, legacy code, and platform constraints make an impact on the industry.
Article
All year long, we've been riding across the vast plains of open-source code, investigating crimes, taking out vulnerabilities, and collecting trophies. Today, we decided to step into the dustiest saloon: an experienced sheriff leans against the bar and reminisces about ten most daring and dangerous bugs in the Wild West.
Article
In September, we broke down the 86Box v5.0 release, timed for the 30th anniversary of Windows 95 retail launch, and promised to show you something else. What is it that we promised? And why did we save our discovery for a separate article?
Article
Have you ever wanted to see your code in a whole new light? For example, imagine what your code base would look like if it were a city. Sounds a bit unreal, doesn't it? Let's take a walk through the city of PVS-Studio and discover its secrets :).
Article
What do computer vision and static analysis have in common? Both seek meaning in data. OpenCV finds images among millions of pixels, while PVS-Studio finds errors among thousands of code lines. This article delves into the source code of the largest computer vision library.
Article
It has been over a year since the last check of the LLVM project with PVS-Studio, and in that time, two releases have come out. So, it's a good time to get back and analyze the fresh LLVM 21.
Article
In this article, we'll tell you about our journey across the Irdya lands. Our adventures promise glorious battles, victories, and rare rewards of mighty artifacts! "What on earth are those artifacts?" you may ask. Well, these are bugs found in the code of a well-known, highly addictive game, The Battle for Wesnoth.
Article
Classes were likely the first thing Stroustrup added in the 1980s, marking the birth of C++. If we imagine ourselves as archaeologists studying ancient C++, one piece of indirect evidence supporting the theory would be the 'this' keyword, which is still a pointer in C++, suggesting it was introduced before references!
Article
Static code analysis is one of the most important components of secure software development. It detects errors and potential vulnerabilities early in the development process, when they're cheaper and easier to fix. It also enables developers to detect security issues and flaws that they aren't aware of.