Table of Contents
Fetching ...

JavaVFC: Java Vulnerability Fixing Commits from Open-source Software

Tan Bui, Yan Naing Tun, Yiran Cheng, Ivana Clairine Irsan, Ting Zhang, Hong Jin Kang

TL;DR

A comprehensive dataset of Java vulnerability-fixing commits (VFCs) to advance research in Java vulnerability analysis, derived from thousands of open-source Java projects on GitHub and presented in a standardized JSONL format for easy access and analysis.

Abstract

We present a comprehensive dataset of Java vulnerability-fixing commits (VFCs) to advance research in Java vulnerability analysis. Our dataset, derived from thousands of open-source Java projects on GitHub, comprises two variants: JavaVFC and JavaVFC-extended. The dataset was constructed through a rigorous process involving heuristic rules and multiple rounds of manual labeling. We initially used keywords to filter candidate VFCs based on commit messages, then refined this keyword set through iterative manual labeling. The final labeling round achieved a precision score of 0.7 among three annotators. We applied the refined keyword set to 34,321 open-source Java repositories with over 50 GitHub stars, resulting in JavaVFC with 784 manually verified VFCs and JavaVFC-extended with 16,837 automatically identified VFCs. Both variants are presented in a standardized JSONL format for easy access and analysis. This dataset supports various research endeavors, including VFC identification, fine-grained vulnerability detection, and automated vulnerability repair. The JavaVFC and JavaVFC-extended are publicly available at https://zenodo.org/records/13731781.

JavaVFC: Java Vulnerability Fixing Commits from Open-source Software

TL;DR

A comprehensive dataset of Java vulnerability-fixing commits (VFCs) to advance research in Java vulnerability analysis, derived from thousands of open-source Java projects on GitHub and presented in a standardized JSONL format for easy access and analysis.

Abstract

We present a comprehensive dataset of Java vulnerability-fixing commits (VFCs) to advance research in Java vulnerability analysis. Our dataset, derived from thousands of open-source Java projects on GitHub, comprises two variants: JavaVFC and JavaVFC-extended. The dataset was constructed through a rigorous process involving heuristic rules and multiple rounds of manual labeling. We initially used keywords to filter candidate VFCs based on commit messages, then refined this keyword set through iterative manual labeling. The final labeling round achieved a precision score of 0.7 among three annotators. We applied the refined keyword set to 34,321 open-source Java repositories with over 50 GitHub stars, resulting in JavaVFC with 784 manually verified VFCs and JavaVFC-extended with 16,837 automatically identified VFCs. Both variants are presented in a standardized JSONL format for easy access and analysis. This dataset supports various research endeavors, including VFC identification, fine-grained vulnerability detection, and automated vulnerability repair. The JavaVFC and JavaVFC-extended are publicly available at https://zenodo.org/records/13731781.
Paper Structure (6 sections, 2 equations, 2 figures, 3 tables)

This paper contains 6 sections, 2 equations, 2 figures, 3 tables.

Figures (2)

  • Figure 1: Data Collection Pipeline
  • Figure 2: Top 20 GitHub repositories with the highest contributions to JavaVFC and JavaVFC-extended