PyResBugs
收藏arXiv2025-05-09 更新2025-05-13 收录
下载链接:
http://arxiv.org/abs/2505.05777v1
下载链接
链接失效反馈官方服务:
资源简介:
PyResBugs是一个包含5070个残留缺陷的数据集,这些缺陷在传统测试中未被发现,但后来在生产中浮现。数据集中的每个缺陷都与相应的无缺陷(已修复)版本配对,并使用多级自然语言(NL)描述进行注释。这些NL描述使得自然语言驱动的故障注入成为可能,提供了一种模拟软件系统中真实世界故障的新方法。PyResBugs通过将软件故障注入技术与真实世界的代表性联系起来,为研究人员提供了一个高质量的资源,以推进Python系统中AI驱动的自动化测试。
PyResBugs is a dataset containing 5070 residual software bugs that went undetected during traditional testing but later emerged in production environments. Each bug in the dataset is paired with its corresponding defect-free (fixed) version, and annotated with multi-level natural language (NL) descriptions. These NL descriptions enable natural language-driven fault injection, providing a novel approach to simulating real-world faults in software systems. By linking software fault injection techniques with real-world representativeness, PyResBugs provides researchers with a high-quality resource to advance AI-driven automated testing for Python systems.
提供机构:
意大利那不勒斯费德里科二世大学
创建时间:
2025-05-09
原始信息汇总
PyResBugs: 一个用于自然语言驱动故障注入的Python残留缺陷数据集
数据集概述
- 标题: PyResBugs: A Dataset of Residual Python Bugs for Natural Language-Driven Fault Injection
- 作者: Domenico Cotroneo, Giuseppe De Rosa, Pietro Liguori
- 提交日期: 2025年5月9日
- 数据集类型: 软件工程、人工智能相关数据集
- 数据集领域: 计算机科学 > 软件工程 (cs.SE), 人工智能 (cs.AI)
- DOI: 10.48550/arXiv.2505.05777
- arXiv ID: arXiv:2505.05777v1
数据集内容
- 数据来源: 从主要Python框架中收集的残留缺陷(即在传统测试中未被检测到但在生产环境中出现的缺陷)
- 数据特点:
- 每个缺陷与其对应的无缺陷(已修复)版本配对
- 包含多级自然语言(NL)描述的注释
- 应用场景: 支持自然语言驱动的故障注入,为模拟软件系统中的真实世界故障提供新方法
数据集价值
- 研究价值: 为研究人员提供高质量资源,推动Python系统中AI驱动的自动化测试技术发展
- 技术贡献: 弥合软件故障注入技术与真实世界代表性之间的差距
相关资源
- PDF文档: View PDF
- HTML版本: View HTML (experimental)
- TeX源码: View TeX Source
搜集汇总
数据集介绍

构建方式
PyResBugs数据集的构建过程体现了严谨的科学方法论与系统性工程实践。研究团队从GitHub平台及顶级会议期刊中筛选了11个权威Python缺陷数据集,采用复合键(提交哈希、项目URL、错误代码与修复代码)确保数据可追溯性。通过自动化爬虫工具采集5,007个残留缺陷样本,每个样本均包含错误版本与修复版本的方法级代码片段,并辅以提交信息、CVE编号等元数据。团队采用六人专家小组协作模式,历时六个月为每个缺陷生成三级自然语言描述(实现级、上下文级、高层级),通过人工标注避免AI生成偏差,最终经教授领衔的专家团队进行质量验证。
特点
该数据集的核心价值在于其独特的残留缺陷表征能力与多粒度自然语言注释体系。作为首个专注Python残留缺陷的基准数据集,其样本均来自实际生产环境中逃逸测试的缺陷,涵盖CPython、Django等主流框架的56种正交缺陷分类。创新性引入的三级自然语言描述架构(平均14-34个token)实现了从技术细节到抽象概念的全方位覆盖,支持基于LLM的故障注入研究。数据统计分析显示缺陷代码与修复代码的token数量保持均衡(均值74 vs 71),证实了缺陷定位的精确性。特别包含的67个非常规缺陷(如海森堡缺陷、内存损坏)增强了数据集的现实代表性。
使用方法
该数据集为软件容错与AI驱动测试研究提供了标准化实验平台。研究者可通过三级自然语言描述直接驱动大语言模型生成目标缺陷,无需传统故障注入的复杂配置。实现级描述支持精确的代码变异测试,上下文级描述适用于系统级健壮性评估,高层级描述则便于概念验证研究。数据集内置的Orthogonal Defect分类体系支持缺陷模式分析,而关联的CVE编号支持安全漏洞研究。典型应用场景包括:训练缺陷预测模型时作为监督数据源,验证自动程序修复工具时作为基准测试集,评估软件系统容错机制时作为故障负载生成器。数据集遵循标准化格式,每个样本包含完整元数据和可执行代码片段,确保实验可复现性。
背景与挑战
背景概述
PyResBugs数据集由那不勒斯费德里科二世大学的Domenico Cotroneo、Giuseppe De Rosa和Pietro Liguori于2025年提出,专注于Python编程语言中的残余缺陷研究。残余缺陷指那些在传统测试阶段未被发现,但在生产环境中暴露的软件缺陷。该数据集收集了来自主流Python框架的5,007个残余缺陷,每个缺陷均配有修复版本和多层次自然语言描述,旨在支持自然语言驱动的故障注入技术。PyResBugs通过弥合软件故障注入技术与真实世界缺陷之间的差距,为Python系统的AI驱动自动化测试研究提供了高质量资源,显著推动了软件可靠性和容错机制的研究进展。
当前挑战
PyResBugs数据集面临的挑战主要体现在两个方面。在领域问题层面,残余缺陷的复杂性和多样性使得传统故障模型难以准确模拟真实场景,特别是在Python等弱类型语言中,运行时故障模式具有高度不可预测性。构建过程中的挑战包括:1) 残余缺陷的筛选与验证需依赖真实场景的提交记录和问题报告,确保缺陷的代表性;2) 多层次自然语言描述的标注需平衡技术精确性与语义通用性,涉及跨学科专家团队的协作;3) 数据集的广覆盖要求整合多个开源项目的缺陷,需解决代码风格差异和项目异构性问题。这些挑战的解决为软件测试领域提供了可复用的方法论和实践经验。
常用场景
经典使用场景
PyResBugs数据集在软件工程领域中被广泛用于自然语言驱动的故障注入研究。该数据集通过提供带有自然语言描述的残存缺陷(即传统测试中未检测到但在生产环境中暴露的缺陷),为研究人员提供了一个高度真实的测试平台。特别是在Python框架中,这些缺陷的多样性和复杂性使得PyResBugs成为评估软件系统鲁棒性和容错能力的理想选择。
解决学术问题
PyResBugs数据集解决了软件故障注入(SFI)研究中残存缺陷难以模拟的难题。通过提供从实际项目中收集的残存缺陷及其自然语言描述,该数据集使得研究人员能够更准确地模拟真实世界中的故障场景。这不仅提升了故障注入技术的代表性,还为AI驱动的自动化测试工具的开发提供了高质量的训练数据。
衍生相关工作
PyResBugs数据集衍生了一系列相关研究,特别是在AI驱动的软件测试领域。例如,基于该数据集的研究工作开发了新型的自然语言驱动的故障注入工具,这些工具能够更高效地模拟真实世界中的故障。此外,该数据集还被用于研究残存缺陷的分类和特征分析,进一步推动了软件可靠性研究的发展。
以上内容由遇见数据集搜集并总结生成



