遇见数据集

pr_vul_dataset

收藏
Hugging Face2026-07-19 更新2026-07-20 收录
官方服务:

资源简介:

该数据集是一个函数级代码分析数据集,包含多个子集:1k_1200子集包含从ffmgep目标中提取的1,000个函数,每个函数长度限制在1,200字符以内;5k子集包含5,000个函数,无额外长度限制;full子集为完整的devign数据集。每个子集均包含四个子文件夹:raw存储原始JSON格式数据,input、tokens和cpg可能分别对应预处理后的输入、分词表示和代码属性图(CPG)表示。数据集适用于代码漏洞检测、程序分析或机器学习模型训练等任务。

This dataset is a function-level code analysis dataset containing multiple subsets: the 1k_1200 subset includes 1,000 functions extracted from ffmgep targets, with each function limited to 1,200 characters; the 5k subset includes 5,000 functions without additional length restrictions; and the full subset is the complete devign dataset. Each subset includes four subfolders: raw stores raw JSON format data, while input, tokens, and cpg likely correspond to preprocessed input, token representations, and code property graph (CPG) representations, respectively. The dataset is suitable for tasks such as code vulnerability detection, program analysis, or machine learning model training.

创建时间:
2026-07-09
原始信息汇总

数据集概述

数据集名称

pr_vul_dataset

许可证

MIT

数据集组成

该数据集包含三个主要子集:

  1. 1k_1200

    • 从目标中提取的1000个函数
    • 每个函数长度限制在1200字符以内
  2. 5k

    • 包含5000个函数
    • 无额外长度限制
  3. full

    • 完整的Devign数据集

子文件夹结构

每个子集均包含以下四个子文件夹:

  • raw:原始JSON格式数据集
  • input:输入数据
  • tokens:分词结果
  • cpg:代码属性图数据
搜集汇总
数据集介绍
pr_vul_dataset 数据集图片
构建方式
该数据集基于Devign数据集构建,针对软件漏洞检测任务进行了专门处理。数据集包含多个子集:'1k_1200'从ffmpeg目标中提取了1000个字符长度小于1200的函数;'5k'则不设字符限制,包含5000个函数;'full'则为完整的Devign数据集。每个子集下均设有raw、input、tokens和cpg四个子文件夹,分别存储原始JSON格式数据、处理后的输入数据、分词结果以及代码属性图(CPG)信息。
特点
数据集以函数级别进行标注,适用于深度学习模型对源代码漏洞的识别与分类。其多粒度子集设计满足不同训练规模与输入长度的需求,尤其是'1k_1200'子集专为短函数场景优化。CPG子文件夹的引入使得模型可结合图结构信息进行更丰富的特征学习,增强了漏洞检测的准确性。所有数据采用JSON格式,便于解析与集成到各类机器学习框架中。
使用方法
用户可根据任务需求选择对应子集,并通过读取相应子文件夹中的JSON文件获取原始或预处理后的数据。对于需要图结构信息的任务,可使用CPG子文件夹中的代码属性图数据,构建图神经网络模型。建议将input数据用于序列模型训练,tokens数据用于Transformer类模型。数据集以MIT许可证发布,允许自由使用和修改,便于学术研究及工业应用中的二次开发。
背景与挑战
背景概述
软件漏洞检测是保障系统安全性的关键任务,而高质量标注数据集是驱动深度学习模型在该领域取得突破的基础。pr_vul_dataset数据集由研究团队基于Devign数据集构建,于近年公开发布于HuggingFace平台,核心聚焦于通过函数级粒度识别软件漏洞。该数据集提供了三种规模的子集——1k_1200(针对FFmpeg目标中字符数低于1200的1000个函数)、5k(5000个无额外限制的函数)以及full(完整Devign数据集),并包含raw、input、tokens、cpg等多模态子文件夹,旨在支持从原始代码到图结构的多样化特征学习。通过引入细粒度功能划分与代码属性图(CPG)表示,该数据集为静态分析驱动的漏洞检测研究提供了标准化基准,显著推动了代码表征学习在安全领域的应用。
当前挑战
数据集面临的核心挑战在于解决跨项目漏洞模式泛化能力不足的领域问题,现有标注数据多源自特定仓库(如FFmpeg),导致模型在新型或异构代码库上泛化性能受限。构建过程中面临两大技术瓶颈:一是高精度漏洞函数边界标注的困难,Devign数据集中存在噪声标签与不完整标注,影响下游模型训练效果;二是代码属性图(CPG)的生成一致性难以保证,不同工具解析同一函数可能产生异构图结构,阻碍了图神经网络模型的可迁移性与稳定训练。此外,1k_1200子集对函数字符数的限制虽降低了计算开销,但也造成了长尾漏洞模式的代表性偏差,进一步加剧了数据分布偏移问题。
常用场景
经典使用场景
该数据集在软件安全领域被广泛应用于漏洞检测任务,尤其聚焦于C/C++源代码级别的函数级缺陷识别。研究者常利用其提供的函数片段,结合多种预处理形式(如原始代码、输入特征、令牌序列及代码属性图),训练和评估深度学习模型在静态分析中的表现。经典场景包括基于图神经网络的漏洞模式挖掘,以及利用序列模型捕捉代码中的潜在安全风险。
衍生相关工作
该数据集衍生了多项经典工作,包括基于注意力机制的漏洞定位模型、融合代码属性图的图卷积网络架构,以及面向长序列的Transformer改进方案。研究者通过对比不同预处理版块的性能,催生了代码表征学习的优化策略。这些工作进一步推动了Devign等基准研究的演化,为后续SySeVR等数据集的设计提供了方法论参考。
数据集最近研究
最新研究方向
该数据集聚焦于软件漏洞检测领域,尤其是通过函数级源代码分析来识别潜在安全缺陷。当前前沿方向包括利用图神经网络对代码属性图(CPG)进行建模,以捕获代码的语法、语义及控制流信息,从而提升漏洞检测的准确性与可解释性。结合大规模预训练代码模型(如CodeBERT)与CPG特征,研究者正探索跨项目漏洞迁移学习与零样本检测。此外,基于函数长度与复杂度的样本筛选(如1200字符限制)对模型泛化能力的影响亦是热点。这一方向呼应了Devign等经典基准的持续演进,为构建更健壮、可扩展的自动化漏洞修复系统奠定基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务