How does Java support dynamic calls? From slow reflection to the optimized MethodHandle and invokedynamic—let's explore the evolution of dynamism on the JVM and dive into how MethodHandle works under...
A computer game written in Java is rare but always interesting. That's why we couldn't miss the opportunity to check the XMage project using a static analyzer. Let's explore what PVS-Studio detected...
From inception to conquering the Red Planet. This article explores Java's history: from its first steps and legal battles with Microsoft to essential tools every Java developer relies on. And...
Bugs in code are nothing new. Today, we're exploring not just some bugs, but cosmic bugs—literally! What does a NASA project have to hide? Get your tinfoil hats ready and let's go!
This is one of the biggest open-source Java projects. Many enterprises, including GitHub, Netflix, and Amazon, use Elasticsearch. It's been six years since we've checked the project, so what new bugs...
This article is about calling operating system commands in Java. Also, we'll cover OS command and argument injections, along with the process of writing diagnostic rules to detect such...
On March 18, a new Java version is set to arrive! Let's take a peek at new features, including the long-awaited final implementation of Stream Gatherers!
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 static...
Developing modifications for Minecraft is a fun and enjoyable hobby. In this article, we'll explore errors in mods for our favorite game through the Custom NPC+ project. We'll reproduce them in-game...
An enormous amount of server-side code is written in Java. So, web applications written in this language must be resistant to certain security vulnerabilities. This short article is about one of the...