Skip to content
OpenTrain AIFor AI Companies

Uncovering the Limits of Machine Learning for Automatic Vulnerability Detection

Niklas Risse, Marcel BöhmePublished Jun 28, 2023
arXiv PDF
Researcher verdict
Starting point
Use as implementation starting point
Benchmark evidence
Missing
Not verified yet
Time to first repro
A few days
Plan setup time
Risk flags
1
Review before use

Abstract

Domain fit: AI-adjacent · Paper appears method- or tooling-adjacent to AI workflows with partial ecosystem coverage.

Recent results of machine learning for automatic vulnerability detection (ML4VD) have been very promising. Given only the source code of a function $f$, ML4VD techniques can decide if $f$ contains a security flaw with up to 70% accuracy. However, as evident in our own experiments, the same top-performing models are unable to distinguish between functions that contain a vulnerability and functions where the vulnerability is patched. So, how can we explain this contradiction and how can we improve the way we evaluate ML4VD techniques to get a better picture of their actual capabilities? In this paper, we identify overfitting to unrelated features and out-of-distribution generalization as two problems, which are not captured by the traditional approach of evaluating ML4VD techniques. As a remedy, we propose a novel benchmarking methodology to help researchers better evaluate the true capabilities and limits of ML4VD techniques. Specifically, we propose (i) to augment the training and validation dataset according to our cross-validation algorithm, where a semantic preserving transformation is applied during the augmentation of either the training set or the testing set, and (ii) to augment the testing set with code snippets where the vulnerabilities are patched. Using six ML4VD techniques and two datasets, we find (a) that state-of-the-art models severely overfit to unrelated features for predicting the vulnerabilities in the testing data, (b) that the performance gained by data augmentation does not generalize beyond the specific augmentations applied during training, and (c) that state-of-the-art ML4VD techniques are unable to distinguish vulnerable functions from their patches.

Results and benchmarks

Freshness tier: cold
Recent results of machine learning for automatic vulnerability detection (ML4VD) have been very promising.

Implementation

Historical official implementation (not recommended for new builds)

Why this implementation
Confidence: low

Only historical official repository was found (niklasrisse/usenix_2024).

Open niklasrisse/usenix_2024
Reproduction risks
  • Only historical official implementation is available
  • No direct maintained implementation is currently verified.
  • Only historical official repository was found: niklasrisse/usenix_2024.
  • No maintained paper-verified implementation met reliability thresholds.

Compare implementation paths

Compare maintenance quality, reproducibility coverage, and evidence confidence before choosing a reproduction baseline.

niklasrisse/usenix_2024
historical official
Maintenance
Stale
Confidence
High
Reproducibility
Moderate
Stars
10
Last push
Jun 5, 2024 (811d)

Official implementation from Papers with Code · Repository link is mentioned in the paper metadata

  • No push in 12+ months
  • No CI pipeline detected
  • No tagged releases
niklasrisse/vpp
alternative
Maintenance
Stale
Confidence
High
Reproducibility
Limited
Stars
15
Last push
Jun 5, 2024 (811d)

Official implementation from Papers with Code · Repository link is mentioned in the paper metadata

  • No push in 12+ months
  • No CI pipeline detected
  • No tagged releases
Maintenance
Stale
Confidence
High
Reproducibility
Limited
Stars
0
Last push
Jun 5, 2024 (811d)

Official implementation from Papers with Code · Repository link is mentioned in the paper metadata

  • No push in 12+ months
  • No CI pipeline detected
  • No tagged releases

Reproduction readiness

Time to first repro: days
Last checked: Aug 24, 2026

Setup required

Dependencies pinned, manual setup needed

  • niklasrisse/usenix_2024 has requirements.txt but requires manual environment setup.
  • Last push was 811 days ago, so expect possible dependency version conflicts.
  • No Dockerfile, so you will set up the environment manually.
  • No CI pipeline, so test coverage is unknown.
Open niklasrisse/usenix_2024

Hardware requirements

  • Expect multi-day setup/compute for meaningful reproduction based on current guidance.

Quick start

git clone https://github.com/niklasrisse/usenix_2024.git
pip install -r requirements.txt

Repositories and ecosystem

Official

  • niklasrisse/vpp
    Confidence: High

    niklasrisse/VPP

    15 stars · 2 forks · Last push Jun 5, 2024 · MIT license

  • niklasrisse/VPP_label_accuracy

    0 stars · 0 forks · Last push Jun 5, 2024 · MIT license

Community

No additional community repositories detected yet.

Hugging Face artifacts

No trustworthy direct or curated related Hugging Face artifacts were found yet. Use targeted searches to quickly locate candidate models, datasets, and demos.

Tip: start with models, then check datasets and spaces if you need evaluation data or demos.

Research context

Evaluation and human feedback data

Open this paper in HFEPX to review benchmark signals, evaluation modes, and human-feedback protocol context.

Open in HFEPX

Data includes links from Papers with Code ( CC-BY-SA-4.0 ).