← Latest papers
🤖 AI

ARVO: Atlas of Reproducible Vulnerabilities for Open-Source Software

This paper introduces ARVO, a large-scale dataset of over 6,100 reproducible open-source software vulnerabilities that overcomes the traditional trade-off between reproducibility, quantity, and diversity by providing consistently rebuildable and analyzable bug instances alongside their corresponding patches.

Original authors: Xiang Mei, Jordi Del Castillo, Pulkit Singh Singaria, Haoran Xi, Abdelouahab Benchikh, Tiffany Bao, Ruoyu Wang, Yan Shoshitaishvili, Adam Doupé, Hammond Pearce, Brendan Dolan-Gavitt

Published 2026-06-23
📖 4 min read☕ Coffee break read

Original authors: Xiang Mei, Jordi Del Castillo, Pulkit Singh Singaria, Haoran Xi, Abdelouahab Benchikh, Tiffany Bao, Ruoyu Wang, Yan Shoshitaishvili, Adam Doupé, Hammond Pearce, Brendan Dolan-Gavitt

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

Imagine you are a detective trying to solve a series of crimes (software bugs) that happened in the past. You have a massive filing cabinet (a database) containing thousands of case files. However, there's a huge problem: most of these files are just notes saying, "A crime happened here on this date." They don't include the crime scene, the weapon, or the specific instructions on how to recreate the crime to prove it happened.

Because of this, it's incredibly hard for other detectives to verify the evidence, learn from the mistakes, or test new ways to catch criminals. They can't just "replay" the crime because the original scene has been cleaned up, the tools have changed, and the instructions are missing.

Enter ARVO: The "Time-Traveling Crime Scene Kit"

The paper introduces ARVO (Atlas of Reproducible Vulnerabilities for Open-Source Software). Think of ARVO not just as a list of crimes, but as a fully equipped, time-traveling crime scene kit.

Here is how ARVO works, using simple analogies:

1. The Problem: The "Stale" Filing Cabinet

Previously, the biggest database of software bugs (called OSS-Fuzz) was like a library that only kept the report of the crime.

  • The Issue: If you tried to recreate the crime today using the old report, you'd fail. Why? Because the "tools" (software libraries) the criminal used 5 years ago have changed or disappeared. The "crime scene" (the software build environment) has rotted away.
  • The Result: Researchers could only use a tiny fraction of these bugs (about 37%) because they couldn't get them to work again. The rest were just "ghost stories."

2. The Solution: ARVO's "Magic Box"

ARVO fixes this by creating a self-contained time capsule for every single bug.

  • The "Reproducible" Magic: For every bug, ARVO doesn't just write a note; it builds a Docker container (a digital time capsule). Inside this box, it puts:
    • The exact version of the software that had the bug.
    • The exact version of all the tools and libraries that software needed back then.
    • The "trigger" (a specific input, like a specific key combination) that causes the crash.
  • The Result: A researcher can open this box and say, "Run this," and the crash happens exactly as it did years ago, regardless of how much the rest of the world has changed.

3. How They Built It: The "Restoration Experts"

Building these time capsules is hard because old software is fragile. The authors had to solve three main puzzles:

  • The "Missing Parts" Puzzle: Old software often tries to download parts from the internet that no longer exist (like a website that moved). ARVO acts like a detective who finds those missing parts in a museum archive and puts them in the box so the software can run.
  • The "Tool Mismatch" Puzzle: Sometimes the software needs a specific version of a tool (like a specific wrench) that is different from what is available today. ARVO tracks the exact "version history" of every single tool used, ensuring the right wrench is in the box.
  • The "Patch Finder" Puzzle: When a bug is fixed, the fix is often hidden inside a massive pile of code changes. ARVO uses a "binary search" (like guessing a number between 1 and 1,000 by cutting the range in half repeatedly) to find the exact single line of code that fixed the bug, rather than just guessing which commit might have done it.

4. The Results: A Massive, Reliable Library

  • Scale: ARVO successfully recreated 6,138 real-world bugs across 311 different software projects.
  • Success Rate: While the old method only worked 37% of the time, ARVO works 81% of the time.
  • Accuracy: When ARVO points to the code that fixed a bug, it is correct 89.4% of the time.
  • Bonus Discovery: While building this, ARVO found that the original database (OSS-Fuzz) had made mistakes. It found over 300 bugs that were thought to be "fixed" but were actually still broken, and over 1,500 false alarms that weren't real bugs at all. ARVO reported these errors back to the original database to clean it up.

5. Why This Matters

Before ARVO, security researchers were like mechanics trying to fix a car engine using only a photo of the engine. They couldn't touch it or hear it run.
With ARVO, they have the actual engine in a box. They can take it apart, see exactly what broke, test their new repair tools on it, and prove that their fix actually works.

In short: ARVO turns a static list of "broken things" into a living, breathing, reproducible laboratory where security researchers can safely study, test, and fix software vulnerabilities at a massive scale.

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 →