ManyVuls4J
收藏arXiv2024-11-27 更新2024-11-29 收录
下载链接:
https://zenodo.org/records/11084782
下载链接
链接失效反馈官方服务:
资源简介:
ManyVuls4J数据集是由国防科技大学复杂系统软件工程重点实验室创建,旨在评估自动化漏洞修复工具的性能。该数据集包含103个真实世界中的漏洞实例,比前一版本增加了30%。数据集的创建过程包括从ProjectKB中收集漏洞信息,并进行手动验证以确保可重复性。ManyVuls4J主要用于评估自动化漏洞修复工具在不同类型漏洞上的修复效果,旨在提高软件安全性,减少手动修复的负担。
The ManyVuls4J dataset was created by the Key Laboratory of Software Engineering for Complex Systems, National University of Defense Technology, aiming to evaluate the performance of automated vulnerability repair tools. It contains 103 real-world vulnerability instances, marking a 30% increase compared to the previous version. The dataset construction process involves collecting vulnerability information from ProjectKB and conducting manual validation to ensure reproducibility. Primarily, ManyVuls4J is used to assess the repair efficacy of automated vulnerability repair tools across diverse vulnerability types, with the goal of enhancing software security and alleviating the workload of manual vulnerability repair.
提供机构:
复杂系统软件工程重点实验室, 国防科技大学计算机科学与技术学院, 长沙, 中国
创建时间:
2024-11-27
搜集汇总
数据集介绍

构建方式
ManyVuls4J数据集的构建基于Vul4J数据集的选择标准和数据源(即ProjectKB),但采用了ProjectKB的最新版本。通过这一过程,数据集中的漏洞数量从79个扩展到103个,增加了约30%。构建过程中,首先从ProjectKB中下载源代码,并保留那些具有单一修复提交的漏洞,这些提交同时修改了Java源代码和测试代码。随后,手动审查这些代码变更,确认其确实修复了漏洞,并满足PoV(Proof of Vulnerability)和开发者补丁的存在性要求。最后,过滤掉那些无法使用Maven、Gradle和Ant等构建工具编译的漏洞,确保漏洞的可重现性。
使用方法
ManyVuls4J数据集主要用于评估自动化漏洞修复工具在处理真实世界漏洞时的效果和通用性。研究者可以使用该数据集来测试和比较不同修复工具的性能,包括它们在修复漏洞数量、修复速度和修复准确性方面的表现。通过在ManyVuls4J上的实验,可以更全面地了解工具在不同类型和复杂度的漏洞上的表现,从而推动自动化漏洞修复技术的发展。
背景与挑战
背景概述
ManyVuls4J数据集由Bo Lin、Shangwen Wang、Liqian Chen和Xiaoguang Mao创建,旨在解决现有自动化漏洞修复技术在源代码级别修复的局限性。随着软件漏洞的数量和复杂性不断增加,供应商往往难以及时修复这些漏洞。自动化漏洞修复技术应运而生,旨在减轻手动调试和修复的负担。然而,现有技术主要集中在源代码级别的修复,无法应用于没有源代码访问权限的用户或安全分析师。因此,这些技术的实际应用受到限制,尤其是在供应商无法及时提供补丁的情况下。为了解决这些限制,研究人员提出了在二进制代码级别进行漏洞修复的方法,并相应地提出了基于模板的自动化漏洞修复方法。ManyVuls4J数据集通过收集来自现有基于模板的自动化程序修复方法和漏洞特定分析的修复模板,并将其应用于Java二进制文件,从而有效地缓解了漏洞。实验结果表明,该方法在修复漏洞方面显著优于当前的修复技术。
当前挑战
ManyVuls4J数据集面临的挑战主要包括两个方面。首先,解决领域问题的挑战在于如何有效地在二进制代码级别修复漏洞,这需要克服源代码不可用的问题,并确保修复方法的通用性和适用性。其次,构建过程中遇到的挑战包括如何从现有文献中系统地收集和评估修复模板,以及如何将这些模板有效地应用于Java二进制文件。此外,数据集的构建还需要确保模板的多样性和覆盖范围,以应对不同类型的漏洞。这些挑战不仅要求研究人员具备深厚的技术背景,还需要他们在实践中不断优化和调整修复策略,以提高修复效率和准确性。
常用场景
经典使用场景
ManyVuls4J数据集在自动化漏洞修复领域中扮演着至关重要的角色,特别是在Java二进制代码级别的漏洞修复场景中。该数据集通过提供多样化的漏洞实例和修复模板,使得研究人员能够系统地评估和改进自动化修复工具的性能。例如,研究人员可以利用ManyVuls4J数据集来测试和验证基于模板的自动化修复方法,如TemVUR,以确保其在不同类型和复杂度的漏洞中的适用性和有效性。此外,该数据集还支持跨项目的漏洞修复研究,帮助识别和解决在不同软件环境中普遍存在的安全问题。
解决学术问题
ManyVuls4J数据集解决了自动化漏洞修复领域中的多个关键学术问题。首先,它填补了现有数据集在Java二进制代码级别漏洞修复方面的空白,为研究人员提供了一个全面的基准,以评估和比较不同修复技术的有效性。其次,通过包含多种类型的漏洞和修复案例,该数据集有助于研究通用修复模板的设计和优化,从而提高自动化修复工具的适用性和准确性。此外,ManyVuls4J还促进了跨项目和跨语言的漏洞修复研究,推动了自动化修复技术在实际应用中的广泛采用。
实际应用
在实际应用中,ManyVuls4J数据集为软件开发和安全分析提供了宝贵的资源。开发人员可以利用该数据集来训练和验证自动化修复工具,确保其在面对真实世界中的复杂漏洞时能够提供有效的修复方案。安全分析师则可以借助数据集中的修复模板和案例,快速识别和修复潜在的安全漏洞,减少手动修复的时间和成本。此外,该数据集还支持企业在软件供应链中实施自动化漏洞修复策略,提高整体软件安全性和可靠性。
数据集最近研究
最新研究方向
在软件安全领域,自动化漏洞修复技术正日益受到关注。ManyVuls4J数据集的最新研究方向主要集中在二进制代码级别的漏洞修复,这一方向旨在解决源代码不可用时的修复难题。通过引入模板驱动的自动化修复方法,研究者们能够在Java二进制文件中直接应用修复模板,从而显著提升修复效率和覆盖范围。这一研究不仅在理论层面推动了自动化修复技术的发展,还在实际应用中为软件供应商和安全分析师提供了强有力的工具支持,有助于及时缓解漏洞带来的安全风险。
相关研究论文
- 1There are More Fish in the Sea: Automated Vulnerability Repair via Binary Templates复杂系统软件工程重点实验室, 国防科技大学计算机科学与技术学院, 长沙, 中国 · 2024年
以上内容由遇见数据集搜集并总结生成



