five

Function-level Vulnerability Dataset

收藏
github2024-03-13 更新2024-05-31 收录
下载链接:
https://github.com/Seahymn2019/Function-level-Vulnerability-Dataset
下载链接
链接失效反馈
官方服务:
资源简介:
本数据集收集了来自9个使用C语言编写的开源软件项目的脆弱函数,用于函数级别的漏洞检测。数据集通过Word2vec生成代码嵌入,用于训练和评估神经网络模型。

This dataset compiles vulnerable functions from nine open-source software projects written in C, intended for function-level vulnerability detection. The dataset utilizes Word2vec to generate code embeddings, which are then used for training and evaluating neural network models.
创建时间:
2019-07-02
原始信息汇总

数据集概述

数据集名称

Function-level Vulnerability Dataset

数据集内容

  • 包含从9个开源软件项目中收集的脆弱函数和非脆弱函数,这些项目均使用C语言编写。
  • 数据集详细信息和统计分析可参考Vulnerable Functions Statistical Analysis

数据集用途

  • 用于训练和测试函数级漏洞检测模型。
  • 通过Word2vec生成代码嵌入,进而使用神经网络模型进行漏洞概率预测。

数据集结构

  • 数据集存储于项目中的data文件夹,包含脆弱和非脆弱的源代码函数。

数据集操作指南

  1. Word2vec模型训练

    • 使用Word_to_vec_embedding.py脚本训练Word2vec模型,将源代码转换为嵌入向量。
    • 命令示例:python Word_to_vec_embedding.py --data_dir <path_to_code_base> --output_dir <output_path>
  2. 神经网络模型训练

    • 配置文件位于config文件夹,用于调整实验/模型设置。
    • 命令示例:Python main.py --config configconfig.yaml --data_dir <path_to_your_code>
  3. 模型测试

    • 使用已训练的模型进行测试,命令示例:Python main.py --config configconfig.yaml --test --trained_model <path_to_trained_model>

数据集结果

搜集汇总
数据集介绍
main_image_url
构建方式
Function-level Vulnerability Dataset的构建过程基于开源软件项目的源代码函数,主要聚焦于C语言编写的程序。研究者从9个开源项目中收集了易受攻击的函数,并利用Word2vec技术生成代码嵌入。通过这一过程,数据集不仅包含了易受攻击的代码样本,还涵盖了非易受攻击的代码,为后续的模型训练和评估提供了丰富的数据基础。数据集的构建过程在论文中详细描述,确保了数据的可靠性和科学性。
特点
该数据集的特点在于其专注于函数级别的漏洞检测,提供了易受攻击和非易受攻击的代码样本,涵盖了多种开源项目。通过Word2vec技术生成的代码嵌入,使得神经网络模型能够更好地理解代码的语义结构。此外,数据集支持多种主流神经网络模型的训练和测试,并提供了详细的配置文件和训练日志,便于用户进行模型调优和结果分析。
使用方法
使用该数据集时,首先需要训练一个Word2vec模型,将源代码转换为嵌入向量。随后,用户可以通过配置文件调整神经网络模型的参数,并进行训练。训练完成后,用户可以使用测试集对模型进行评估。数据集提供了详细的命令行参数和配置文件示例,用户可以根据需求灵活调整训练和测试过程。通过Tensorboard,用户还可以可视化训练过程,进一步优化模型性能。
背景与挑战
背景概述
Function-level Vulnerability Dataset 是一个专注于函数级别漏洞检测的开源数据集,由研究人员 Seahymn2019 团队创建。该数据集旨在通过分析 C 语言编写的开源软件项目中的函数代码,识别潜在的漏洞。数据集的核心研究问题在于如何利用自然语言处理技术(如 Word2vec)生成代码嵌入,并通过神经网络模型预测函数是否存在漏洞。该数据集的构建基于 9 个开源项目的代码,涵盖了漏洞函数和非漏洞函数的标注数据。其研究对软件安全领域具有重要意义,特别是在自动化漏洞检测和代码分析方面,为相关研究提供了高质量的数据支持。
当前挑战
Function-level Vulnerability Dataset 在构建和应用过程中面临多重挑战。首先,函数级别漏洞检测的复杂性在于代码语义的多样性和漏洞模式的隐蔽性,如何准确提取代码特征并生成有效的嵌入表示是一个关键问题。其次,数据集的构建依赖于开源项目的代码,这些代码的质量和漏洞标注的准确性直接影响模型的训练效果。此外,神经网络模型的训练需要大量计算资源,尤其是在处理大规模代码库时,计算效率和模型性能的平衡成为一大挑战。最后,如何将研究成果推广到其他编程语言和更广泛的代码库中,也是该领域未来需要解决的重要问题。
常用场景
经典使用场景
在软件安全领域,Function-level Vulnerability Dataset 被广泛应用于函数级别的漏洞检测研究。通过将源代码函数作为输入,并利用Word2vec生成代码嵌入,该数据集能够有效地训练神经网络模型,以预测函数是否存在漏洞。这一方法不仅提升了漏洞检测的准确性,还为研究者提供了一个标准化的评估平台。
衍生相关工作
基于Function-level Vulnerability Dataset,许多经典的研究工作得以展开。例如,研究者提出了多种基于深度学习的漏洞检测模型,进一步提升了检测的准确性和效率。此外,该数据集还催生了一系列关于代码嵌入和特征提取的研究,为软件安全领域提供了新的研究方向和方法论。
数据集最近研究
最新研究方向
在软件安全领域,函数级漏洞检测技术正逐渐成为研究热点。Function-level Vulnerability Dataset通过收集来自9个开源C语言项目的漏洞函数,结合Word2vec技术生成代码嵌入,为神经网络模型提供训练数据。该数据集不仅支持多种主流神经网络模型的训练与测试,还具备良好的扩展性,能够兼容Keras或TensorFlow实现的其他网络模型。随着深度学习技术在代码分析中的广泛应用,该数据集为研究者提供了一个标准化的基准,推动了函数级漏洞检测算法的创新与优化。其研究成果不仅有助于提升软件安全性,还为自动化漏洞检测工具的开发提供了重要参考。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作