← Latest papers
💻 computer science

CauSec: Unboxing the Causal Drivers of Static Vulnerability Analysis Performance

This paper introduces CAUSEC, a causal analysis framework that formalizes and validates the underlying assumptions of Static Application Security Testing (SAST) tools to determine whether their design trade-offs genuinely yield the intended performance gains, demonstrating its utility through a systematic study of 57 crypto-API misuse assumptions across four popular tools.

Original authors: Md Akram Khan (William & Mary), Daniel Rodriguez-Cardenas (William & Mary), Alejandro Velasco Dimate (William & Mary), Denys Poshyvanyk (William & Mary), Adwait Nadkarni (William & Mary)

Published 2026-08-20
📖 5 min read🧠 Deep dive

Original authors: Md Akram Khan (William & Mary), Daniel Rodriguez-Cardenas (William & Mary), Alejandro Velasco Dimate (William & Mary), Denys Poshyvanyk (William & Mary), Adwait Nadkarni (William & Mary)

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

In the digital world, software tools act as the gatekeepers of security, scanning code to find hidden flaws before they can be exploited. These tools, known as static application security testers, are used everywhere from small startups to massive corporations. They work by making educated guesses about how code behaves, often choosing to ignore certain parts of a program to run faster or to avoid flagging harmless code as dangerous. The industry has long operated on a set of unproven beliefs: that skipping specific types of code will make the tool more accurate, or that ignoring certain libraries will reduce false alarms. These beliefs guide how the tools are built, but until now, no one had systematically tested whether these assumptions were actually true or if they were just convenient stories the designers told themselves.

A team of researchers at William & Mary decided to put these beliefs to the test. They built a new framework called CAUSEC, which treats the assumptions behind security tools not as facts, but as hypotheses that can be proven or disproven. Instead of just looking at whether a tool finds bugs, they asked why it finds them and what happens when you change the rules. By applying a method called causal inference, which helps separate true cause-and-effect relationships from simple coincidences, they were able to isolate specific design choices and measure their real impact. Their work reveals that the rules security tools follow are often more fragile and specific than anyone realized, and that a strategy that works perfectly for one tool can fail completely for another.

The researchers began by looking at the history of tools designed to catch mistakes in how software uses cryptography, the math that keeps data safe. They sifted through twenty years of research papers and found fifty-seven distinct assumptions that tool designers had made. These assumptions ranged from the idea that focusing on specific code rules improves accuracy, to the belief that ignoring third-party code libraries makes the tool faster and more precise. The team realized that many of these claims were based on correlations—things that happened to occur together—rather than proven causes. For instance, a tool might skip third-party libraries and happen to have fewer false alarms, but that doesn't mean the skipping was the actual reason for the improvement. There could be other hidden factors at play.

To untangle this, the team focused on one very common assumption: that reporting security alerts from third-party libraries decreases the tool's precision, meaning it creates more false alarms. They gathered a massive dataset of over 57,000 alerts generated by four popular security tools: Semgrep, CodeQL, CogniCrypt, and CryptoGuard. They then manually checked every single alert to see if it was a real problem or a false alarm, creating a ground truth that the tools could be measured against. Using their new framework, they simulated what would happen if they forced each tool to report alerts from third-party libraries, while carefully accounting for other variables like the size of the app or how popular it was.

The results were surprising and showed that the assumption was not a universal truth. For two of the tools, the assumption held up: when they started reporting alerts from third-party libraries, the rate of false alarms did indeed go up. However, for the other two tools, the exact opposite happened. When those tools included alerts from third-party libraries, their accuracy actually improved. This discovery proved that the design of the tool itself acts as a modifier; the same rule can have completely different effects depending on the tool's internal mechanics. The researchers found that the impact of including third-party code varied wildly depending on the specific type of library and the specific tool being used. For one tool, utility libraries caused a significant drop in accuracy, while for another, those same libraries improved accuracy.

The study also highlighted that many of the assumptions made by tool designers were based on unverified trade-offs. Designers often sacrifice the ability to find every possible bug in exchange for speed or fewer false alarms, believing that this trade-off is necessary. The researchers found that while these trade-offs are real, the specific outcomes are often unpredictable. They discovered that the way a tool is built—its specific rules, how it filters data, and how it handles context—determines whether a design choice helps or hurts. This means that a security team cannot simply copy the design choices of a successful tool and expect the same results. What works for one tool is not guaranteed to work for another.

Ultimately, the paper argues that the security community needs to move away from accepting assumptions as facts. The researchers demonstrated that by using causal analysis, it is possible to test these assumptions rigorously and understand exactly how they affect performance. They found that while some assumptions are valid, many are not, and their validity depends entirely on the specific context of the tool being used. The study concludes that tool designers should not inherit assumptions from previous work without testing them in their own specific environment. Instead, they should treat every design choice as a hypothesis to be tested, ensuring that the tools they build are based on evidence rather than intuition. This approach offers a clearer path to building security tools that are not just fast, but truly effective at protecting software.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →