five

google/code_x_glue_cc_defect_detection

收藏
Hugging Face2024-01-24 更新2024-05-25 收录
下载链接:
https://hf-mirror.com/datasets/google/code_x_glue_cc_defect_detection
下载链接
链接失效反馈
官方服务:
资源简介:
CodeXGlueCcDefectDetection数据集用于代码缺陷检测任务,主要针对C编程语言的代码片段。该数据集来源于论文Devign,通过图神经网络学习程序语义来有效识别漏洞。任务是将代码分类为安全代码(0)或不安全代码(1)。数据集包含训练集、验证集和测试集,分别有21854、2732和2732个样本。每个样本包含id、func(源代码)、target(是否漏洞)、project(项目名称)和commit_id(提交标识)等字段。

CodeXGlueCcDefectDetection数据集用于代码缺陷检测任务,主要针对C编程语言的代码片段。该数据集来源于论文Devign,通过图神经网络学习程序语义来有效识别漏洞。任务是将代码分类为安全代码(0)或不安全代码(1)。数据集包含训练集、验证集和测试集,分别有21854、2732和2732个样本。每个样本包含id、func(源代码)、target(是否漏洞)、project(项目名称)和commit_id(提交标识)等字段。
提供机构:
google
原始信息汇总

数据集概述

  • 数据集名称: CodeXGlueCcDefectDetection
  • 数据集别名: code_x_glue_cc_defect_detection
  • 任务类型: 多类分类 (multi-class-classification)
  • 语言: C 编程语言
  • 许可证: C-UDA
  • 多语言性: 其他编程语言
  • 大小类别: 10K<n<100K
  • 源数据集: 原始数据

数据集结构

数据实例

  • 示例: json { "commit_id": "aa1530dec499f7525d2ccaa0e3a876dc8089ed1e", "func": "static void filter_mirror_setup(NetFilterState *nf, Error **errp) { MirrorState *s = FILTER_MIRROR(nf); Chardev *chr; chr = qemu_chr_find(s->outdev); if (chr == NULL) { error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND, "Device %s not found", s->outdev); qemu_chr_fe_init(&s->chr_out, chr, errp);", "id": 8, "project": "qemu", "target": true }

数据字段

  • 字段名称: id, func, target, project, commit_id
  • 数据类型: int32, string, bool, string, string
  • 描述:
    • id: 样本索引
    • func: 源代码
    • target: 0 或 1 (是否存在漏洞)
    • project: 包含此代码的原始项目
    • commit_id: 原始项目中的提交标识符

数据分割

名称 训练 验证 测试
default 21854 2732 2732

许可证信息

  • 许可证: Computational Use of Data Agreement (C-UDA) License.
搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,代码缺陷检测是保障软件安全性的关键环节。该数据集源自论文《Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networks》,通过整合多个开源项目的C语言代码构建而成。数据收集过程涵盖了真实世界中的代码提交记录,每个样本均包含完整的函数代码及其对应的缺陷标签。数据集按照80%/10%/10%的比例划分为训练集、验证集和测试集,确保了模型评估的统计可靠性。
特点
该数据集专注于C语言代码的缺陷检测,涵盖资源泄漏、释放后使用漏洞及拒绝服务攻击等多种安全缺陷类型。每个数据实例均标注了源代码、项目来源及提交标识,提供了丰富的上下文信息。数据规模适中,包含超过2.7万个样本,平衡了模型训练的充分性与计算效率。其二进制分类任务设计简洁明确,直接服务于软件漏洞的自动化识别需求。
使用方法
该数据集适用于训练和评估代码缺陷检测模型,用户可通过加载标准数据分割直接进行机器学习实验。模型输入为原始函数代码字符串,输出为二分类预测结果,指示代码是否存在安全缺陷。研究人员可利用该数据集开发基于图神经网络或序列模型的漏洞检测方法,并通过验证集和测试集评估模型泛化能力。数据集兼容主流深度学习框架,支持端到端的模型训练流程。
背景与挑战
背景概述
在软件工程与信息安全领域,代码缺陷检测一直是保障软件质量与系统安全的核心课题。谷歌与微软等机构联合构建的CodeXGLUE缺陷检测数据集,源于2019年提出的Devign研究框架,旨在通过图神经网络学习程序语义以识别安全漏洞。该数据集聚焦于C语言代码,涵盖资源泄漏、释放后使用等常见漏洞类型,将缺陷检测任务形式化为二元分类问题。其创建推动了智能代码分析技术的发展,为自动化漏洞挖掘提供了重要基准,显著提升了软件安全研究的实证基础。
当前挑战
该数据集致力于解决代码缺陷检测中语义理解与泛化能力的挑战,即如何从复杂代码结构中准确识别潜在安全漏洞,避免高误报率与漏报率。在构建过程中,数据来源的多样性与标注一致性构成主要难点,需从真实项目提交中提取可靠样本,并确保漏洞标签的精确性。此外,代码的语法变体与上下文依赖增加了数据清洗与归一化的复杂度,要求平衡样本规模与质量,以支撑模型对未见代码的稳健预测。
常用场景
经典使用场景
在软件工程与代码安全领域,缺陷检测是保障软件质量的关键环节。CodeXGLUE缺陷检测数据集为研究者提供了一个标准化的基准,用于训练和评估模型在识别代码漏洞方面的能力。该数据集通过二元分类任务,将源代码标记为安全或不安全,典型应用包括自动化漏洞扫描工具的开发,帮助模型学习从代码语义中捕捉潜在的安全风险,如资源泄漏或使用后释放漏洞。
衍生相关工作
该数据集衍生自Devign研究,该工作首次提出利用图神经网络学习全面程序语义以进行漏洞识别。后续许多经典研究在此基础上展开,例如探索预训练代码模型在缺陷检测中的迁移学习能力,以及结合多模态信息提升检测精度。这些工作进一步扩展了数据集的适用范围,推动了代码智能领域的算法创新与基准测试发展。
数据集最近研究
最新研究方向
在软件安全领域,代码缺陷检测始终是保障系统可靠性的核心议题。随着深度学习技术的演进,基于图神经网络的漏洞识别方法成为前沿热点,该数据集作为Devign研究的基准,推动了程序语义的全面学习。当前研究聚焦于结合预训练代码模型与图结构分析,以提升对资源泄漏、释放后使用等复杂漏洞的检测精度,相关进展正重塑自动化安全审计的范式,对软件开发生命周期产生深远影响。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作