The year 2025 is coming to an end. Minecraft mods, the Catalan language, and non-obvious interactions with the ternary operator—how many things our analyzer has encountered! So it's high time...
Analyzing source code is a challenging task, especially when it comes to identifying potential vulnerabilities. In this article, we'll share how we traced data flow passing through object...
Java is expanding with new trendy mechanisms, and along with it, its tomb is growing with outdated features like Vector, Finalization, NashornScriptEngine, SecurityManager, and Unsafe. Let's take...
Interviewers and LeetCode problems often focus on rotating binary trees. But what about transforming a general tree into a different one? How do we solve this problem, and what approaches can...
In this article, we'll explain what gadget chains are and look at examples (with schemas) of how careless deserialization with native Java mechanisms can lead to remote code...
In this article, we talk about the OWASP Top Ten 2021 categories through the lens of PVS-Studio Java analyzer warnings. So, if you want to peek at patterns of potential vulnerabilities in Java...
Collecting, processing, and transferring data are key processes in IT. What if they break due to some tricky bugs in the code, though? In this article, we'll talk about errors detected by a...
Java continues to actively evolve! The new Java 25 is just around the corner. This release brings changes to boilerplate code and constructors, and discontinues support for deprecated systems...
This is a story of rewriting an application for DI containers, parsing dependencies, drawing schemas to avoid getting lost, and quietly praying to every possible deity that nothing suddenly...