Pith. sign in

REVIEW 4 cited by

Top Score on the Wrong Exam: On Benchmarking in Machine Learning for Vulnerability Detection

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2408.12986 v2 pith:7KX6VC47 submitted 2024-08-23 cs.CR cs.LG

classification cs.CRcs.LG
keywords ml4vdvulnerablecontextfunctionoftensecuritycallfunctions
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

According to our survey of machine learning for vulnerability detection (ML4VD), 9 in every 10 papers published in the past five years define ML4VD as a function-level binary classification problem: Given a function, does it contain a security flaw? From our experience as security researchers, faced with deciding whether a given function makes the program vulnerable to attacks, we would often first want to understand the context in which this function is called. In this paper, we study how often this decision can really be made without further context and study both vulnerable and non-vulnerable functions in the most popular ML4VD datasets. We call a function "vulnerable" if it was involved in a patch of an actual security flaw and confirmed to cause the program's vulnerability. It is "non-vulnerable" otherwise. We find that in almost all cases this decision cannot be made without further context. Vulnerable functions are often vulnerable only because a corresponding vulnerability-inducing calling context exists while non-vulnerable functions would often be vulnerable if a corresponding context existed. But why do ML4VD techniques achieve high scores even though there is demonstrably not enough information in these samples? Spurious correlations: We find that high scores can be achieved even when only word counts are available. This shows that these datasets can be exploited to achieve high scores without actually detecting any security vulnerabilities. We conclude that the prevailing problem statement of ML4VD is ill-defined and call into question the internal validity of this growing body of work. Constructively, we call for more effective benchmarking methodologies to evaluate the true capabilities of ML4VD, propose alternative problem statements, and examine broader implications for the evaluation of machine learning and programming analysis research.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 4 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. An Empirical Study of Vulnerabilities in Python Packages and Their Detection

    cs.SE 2025-09 conditional novelty 7.0 of 10

    PyVul is a new benchmark of 1,157 Python-package vulnerabilities with LLM-cleaned labels; current static detectors detect only a small fraction of them.

  2. DREA: Decoupled Reasoning and Exploration Agents for Repository-Level Vulnerability Detection

    cs.CR 2026-07 conditional novelty 6.0 of 10

    DREA improves repository-level vulnerability detection by coupling an LLM planner that forms hypotheses with a cheap local explorer that gathers cross-file evidence, lifting paired accuracy from 19-26% to 30-42% at mu...

  3. Mono: Is Your "Clean" Vulnerability Dataset Really Solvable? Exposing and Trapping Undecidable Patches and Beyond

    cs.CR 2025-06 conditional novelty 6.0 of 10

    Mono reports that 31% of MegaVul patches are non-security and about 16.7% of CVEs are 'undecidable', while its added context raises LLM vulnerability detection F1 by up to 15%.

  4. SecVulEval: Benchmarking LLMs for Real-World C/C++ Vulnerability Detection

    cs.SE 2025-05 conditional novelty 5.0 of 10

    SecVulEval provides a statement-level C/C++ vulnerability benchmark with context; state-of-the-art LLMs achieve only 23.83% F1 on locating vulnerable statements with correct reasoning.

Pith tools