five

D2A|漏洞检测数据集|静态分析数据集

收藏
arXiv2021-02-16 更新2024-06-21 收录
漏洞检测
静态分析
下载链接:
https://github.com/ibm/D2A
下载链接
链接失效反馈
资源简介:
D2A数据集由IBM研究院创建,旨在通过基于差分分析的方法来标记静态分析工具报告的问题,从而支持基于AI的漏洞检测方法。该数据集通过分析多个开源项目的版本对,识别并标记出由提交修复的真正漏洞,以及未被修复的潜在误报,以此来训练模型以减少静态分析中的误报,并帮助开发者优先处理可能的真实漏洞。
提供机构:
IBM Research
创建时间:
2021-02-16
AI搜集汇总
数据集介绍
main_image_url
构建方式
D2A数据集的构建方式基于差异分析,旨在为基于AI的漏洞检测方法提供训练数据。首先,通过分析多个开源项目的版本对,选择修复bug的提交,并在这些提交前后对版本进行静态分析。如果在提交前的版本中检测到的问题在提交后的版本中消失,那么这些问题很可能是由提交修复的真实bug。通过对大量连续版本对的聚合分析,可以生成一个大规模的有标签数据集,用于训练漏洞识别模型。
特点
D2A数据集的特点在于其基于差异分析的自标定机制,能够有效地识别静态分析工具报告的问题中哪些更可能是真实bug,哪些更可能是误报。此外,D2A数据集提供了详细的bug相关信息,包括bug类型、位置、跟踪以及与原始代码库/提交的链接等,这些信息对于训练AI模型理解和检测漏洞至关重要。
使用方法
D2A数据集的使用方法主要涉及训练漏洞检测模型和静态分析误报减少模型。通过使用D2A数据集,可以训练一个分类器来识别静态分析报告的问题中可能的真实bug,从而帮助开发者优先处理和调查潜在的真正正例。此外,还可以使用D2A数据集训练一个静态分析误报减少模型,以有效降低误报率,帮助开发者优先处理和调查潜在的真实bug。
背景与挑战
背景概述
在现代软件程序中,由于复杂性及规模的不断扩大,编程错误和安全性漏洞往往被忽视。静态分析工具因其能够理解复杂行为和数百万行代码的程序而得到广泛应用。尽管静态分析工具非常流行,但它们通常会产生过多的误报。最近,机器学习模型理解编程语言的能力为静态分析带来了新的可能性。然而,现有的用于漏洞识别的模型训练数据集存在多方面的局限性,例如漏洞上下文有限、数据集规模有限以及源代码的合成和不符合现实情况。针对这些挑战,IBM Research的研究人员提出了D2A数据集,该数据集通过分析多个开源项目的版本对来构建,旨在为漏洞识别提供更高质量和更具代表性的数据。D2A数据集的创建时间为2021年2月,主要研究人员包括Yunhui Zheng、Saurabh Pujar等人。该数据集的核心研究问题是提高静态分析工具的准确性和效率,减少误报,从而帮助开发人员优先处理潜在的真实漏洞。D2A数据集的创建为相关领域的研究提供了重要的数据基础,有助于推动基于人工智能的漏洞检测方法的进一步发展。
当前挑战
D2A数据集主要面临的挑战包括:1) 静态分析工具的误报问题,即如何有效地区分真实漏洞和误报,减少开发人员的工作量;2) 数据集构建过程中的挑战,如如何选择合适的开源项目、如何处理版本之间的差异以及如何确保数据集的准确性和代表性等。为了解决这些挑战,D2A数据集采用了基于差异分析的自动标记方法,通过分析版本对来识别和标记真实漏洞。此外,D2A数据集还通过并行化处理和大规模分析,提高了数据集的构建效率和质量。尽管D2A数据集在解决上述挑战方面取得了显著成果,但在实际应用中,仍然需要进一步研究和优化,以进一步提高数据集的准确性和实用性。
常用场景
经典使用场景
D2A数据集主要用于基于机器学习的漏洞检测方法。该数据集通过分析多个开源项目的版本对,从每个项目中选取修复bug的提交,并在这些提交前后版本的代码上运行静态分析。如果一个在提交前版本中检测到的问题在提交后版本中消失了,那么这个问题很可能是一个真实的bug,并由提交修复。通过这种方法,D2A数据集生成大量的带标签数据集,用于训练漏洞检测模型。此外,D2A数据集还可以用于构建分类器,以识别静态分析报告中的潜在误报,从而帮助开发人员优先调查潜在的真正阳性问题。
解决学术问题
D2A数据集解决了现有漏洞检测数据集的几个常见问题。首先,现有的数据集大多是在函数级别上,没有提供解释bug如何发生的上下文信息(例如,跟踪)。其次,一些数据集(例如CGD [13])是从NVD [19]或CVE [20]中的确认bug中派生出来的。虽然它们具有高质量的标签,但样本数量有限,可能不足以用于模型训练。第三,一些合成数据集(例如Juliet [21]和S-babi[14])可以很大,但它们是根据几个预定义的模式生成的,因此不能代表现实世界程序中观察到的多样化行为。最后,还有一些基于提交消息或代码差异的标记工作。基于提交消息预测代码标签的方法已知会产生低质量的标签。基于代码差异的方法[15]假设bug修复提交中的所有函数都是有bug的,这在现实中可能并不总是如此。更重要的是,这些方法难以识别bug类型、位置和跟踪。另一方面,静态分析可以超越函数边界进行推理。它是自动化的,并且能够从野外的程序中生成大型数据集。因此,D2A数据集为漏洞检测任务提供了大量真实世界的数据集,并编码了超出函数边界的上下文信息。
衍生相关工作
D2A数据集的衍生相关工作主要集中在以下几个方面:首先,D2A数据集可以用于研究基于机器学习的漏洞检测方法,以提高漏洞检测的准确性和效率。其次,D2A数据集可以用于研究基于代码的上下文信息(例如,跟踪)的代码理解方法,以提高代码理解的准确性和深度。第三,D2A数据集可以用于研究基于代码差异的代码生成和代码补全方法,以提高代码生成和代码补全的准确性和效率。此外,D2A数据集还可以用于研究基于静态分析的代码质量评估方法,以提高代码质量的准确性和可靠性。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

D4LA-版面分析数据集

# D4LA 文档版面分析数据集 (the most Diverse and Detailed Dataset ever for Document Layout Analysis) ## 数据集概述 D4LA是面向文档版面分析的数据集。 ### 数据集简介 包含12类文档工27类文档版面类型,详细如下: ![d4la](./d4la.jpg) ### 标注格式 ``` D4LA ├── train_images │ ├── 1.jpg ├── test_images │ ├── 2.jpg ├── VGT_D4LA_grid_pkl │ ├── 1.pkl │ └── 2.pkl ├── json │ ├── train.json │ └── test.json ``` ### 引用方式 If you find this repository useful, please consider citing our work: ``` @inproceedings{da2023vgt, title={Vision Grid Transformer for Document Layout Analysis}, author={Cheng Da and Chuwei Luo and Qi Zheng and Cong Yao}, year={2023}, booktitle = {ICCV}, } ``` ### Clone with HTTP ```bash git clone https://www.modelscope.cn/datasets/damo/D4LA.git ```

魔搭社区 收录

Beijing Traffic

The Beijing Traffic Dataset collects traffic speeds at 5-minute granularity for 3126 roadway segments in Beijing between 2022/05/12 and 2022/07/25.

Papers with Code 收录

中国省级灾害统计空间分布数据集(1999-2020年)

该数据集为中国省级灾害统计空间分布数据集,时间为1999-2020年。该数据集包含中国各省自然灾害、地质灾害、地震灾害、森林火灾、森林病虫鼠害、草原灾害六类灾害的详细数据。数据量为206MB,数据格式为excel。

国家地球系统科学数据中心 收录

FAOSTAT Agricultural Data

FAOSTAT Agricultural Data 是由联合国粮食及农业组织(FAO)提供的全球农业数据集。该数据集涵盖了农业生产、贸易、价格、土地利用、水资源、气候变化、人口统计等多个方面的详细信息。数据包括了全球各个国家和地区的农业统计数据,旨在为政策制定者、研究人员和公众提供全面的农业信息。

www.fao.org 收录

MedDialog

MedDialog数据集(中文)包含了医生和患者之间的对话(中文)。它有110万个对话和400万个话语。数据还在不断增长,会有更多的对话加入。原始对话来自好大夫网。

github 收录