five

benjis/sven

收藏
Hugging Face2023-09-18 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/benjis/sven
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含函数名称、函数修改前后的源代码、行级别的更改、字符级别的更改、提交链接、文件名和漏洞类型等特征。数据集分为训练集和验证集,训练集包含720个样本,验证集包含83个样本。数据集的下载大小为2246744字节,数据集大小为5582551字节。该数据集卡是非官方的,与作者无关。

This dataset includes features such as function names, source codes of functions before and after modification, line-level changes, character-level changes, commit links, file names, and vulnerability types. The dataset is split into training and validation sets, with 720 samples in the training set and 83 samples in the validation set. The download size of the dataset is 2246744 bytes, and the total size of the dataset is 5582551 bytes. This dataset is unofficial and has no affiliation with its original author(s).
提供机构:
benjis
原始信息汇总

数据集概述

数据集配置

  • 配置名称: default
  • 数据文件:
    • 训练集: data/train-*
    • 验证集: data/val-*

数据集信息

  • 特征:
    • func_name: 函数名称,类型为字符串。
    • func_src_before: 修改前的函数源代码,类型为字符串。
    • func_src_after: 修改后的函数源代码,类型为字符串。
    • line_changes: 行变化,包含以下结构:
      • deleted: 删除的行,包含以下列表:
        • line_no: 行号,类型为int64。
        • char_start: 字符起始位置,类型为int64。
        • char_end: 字符结束位置,类型为int64。
        • line: 行内容,类型为字符串。
      • added: 添加的行,包含以下列表:
        • line_no: 行号,类型为int64。
        • char_start: 字符起始位置,类型为int64。
        • char_end: 字符结束位置,类型为int64。
        • line: 行内容,类型为字符串。
    • char_changes: 字符变化,包含以下结构:
      • deleted: 删除的字符,包含以下列表:
        • char_start: 字符起始位置,类型为int64。
        • char_end: 字符结束位置,类型为int64。
        • chars: 字符内容,类型为字符串。
      • added: 添加的字符,包含以下列表:
        • char_start: 字符起始位置,类型为int64。
        • char_end: 字符结束位置,类型为int64。
        • chars: 字符内容,类型为字符串。
    • commit_link: 提交链接,类型为字符串。
    • file_name: 文件名称,类型为字符串。
    • vul_type: 漏洞类型,类型为字符串。

数据集分割

  • 训练集:
    • 字节数: 4961153
    • 样本数: 720
  • 验证集:
    • 字节数: 621398
    • 样本数: 83

数据集大小

  • 下载大小: 2246744
  • 数据集大小: 5582551
搜集汇总
数据集介绍
main_image_url
构建方式
benjis/sven数据集的构建,采取了对特定编程语言源代码的变更记录进行梳理的方式。数据集通过收集训练和验证两个阶段的数据文件,分别对应于train和val的split,从中提取函数名(func_name)、变更前后代码(func_src_before与func_src_after)、行变更(line_changes)、字符变更(char_changes)、提交链接(commit_link)、文件名(file_name)以及漏洞类型(vul_type)等特征信息。
特点
该数据集的特点在于,它详细记录了代码的微观变化,包括行级别和字符级别的增删改动作。这种细致的记录方式使其在研究代码漏洞检测、代码质量评估以及版本控制系统的分析中具有独特价值。此外,数据集提供了train和val两个子集,便于模型训练与验证,且其规模适中,易于处理。
使用方法
使用benjis/sven数据集,用户首先需要从HuggingFace平台下载相应的train和val数据文件。之后,用户可以根据数据集提供的特征字段,利用Python等编程语言进行数据加载、预处理和模型训练。数据集的结构化设计使得其易于与主流机器学习框架集成,进而支持各种代码分析任务的开展。
背景与挑战
背景概述
benjis/sven数据集源于软件工程领域,旨在为代码漏洞检测提供研究基础。该数据集由ETH苏黎世大学的SRI团队创建于2023年,通过采集开源软件库中的代码片段,记录函数名称、源代码修改前后对比、行与字符级别的更改信息,以及漏洞类型等。该数据集为研究人员提供了一个宝贵的资源,以探索和改进代码漏洞检测算法,对软件安全领域产生了显著影响。
当前挑战
在数据集构建过程中,研究团队面临了如何精确捕捉代码变更细节的挑战,包括行与字符级别的差异。此外,数据集在标注漏洞类型时,需克服标注一致性和准确性的问题。在研究领域,该数据集所解决的挑战包括如何利用细粒度的代码变更信息来提高漏洞检测的准确率和效率,以及如何处理数据中的噪声和异常值,确保模型的鲁棒性。
常用场景
经典使用场景
在计算机程序分析与优化领域,benjis/sven数据集被广泛应用于代码变更模式的研究。该数据集记录了代码函数的修改历史,包括添加和删除的行及字符的具体信息,为研究人员提供了一手的代码演化数据,使得对代码质量、维护难度及变更影响的分析成为可能。
实际应用
实际应用中,benjis/sven数据集可用于软件开发过程中的代码审查自动化工具开发,帮助开发人员及时发现潜在的安全漏洞和代码质量问题。此外,该数据集也可支持代码补全和智能提示系统的优化,提高编程效率。
衍生相关工作
基于benjis/sven数据集,学术界已经衍生出一系列相关工作,包括但不限于代码缺陷预测模型的构建、代码变更模式分析以及软件安全性评估等。这些研究进一步拓展了数据集的应用范围,推动了软件工程领域的知识积累和技术进步。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作