Defects4REST
收藏github2026-01-30 更新2026-01-25 收录
下载链接:
https://github.com/ANSWER-OSU/Defects4REST
下载链接
链接失效反馈官方服务:
资源简介:
一个全面的基准和错误挖掘框架,用于系统地部署、测试和分析REST API应用程序中可重现的真实错误。该基准包括12个真实世界开源项目中的110个缺陷,以及部署脚本、复制步骤和详细的元数据。
A comprehensive benchmark and bug mining framework for systematically deploying, testing, and analyzing reproducible real-world bugs in REST API applications. This benchmark includes 110 defects from 12 real-world open-source projects, as well as deployment scripts, reproduction steps and detailed metadata.
创建时间:
2026-01-03
原始信息汇总
Defects4REST 数据集概述
数据集基本信息
- 数据集名称:Defects4REST Version 1.0
- 简介:一个用于系统化部署、测试和分析REST API应用程序中可复现真实错误的综合基准和错误挖掘框架。
- 规模:包含110个缺陷,涵盖12个真实世界的开源项目。
核心特性
- 单命令部署:可即时部署系统的错误版本或修复版本。
- 预配置的、特定于错误的环境:为每个错误初始化所需的复制设置,例如管理员账户、API令牌、测试数据或其他必要的配置。
- 逐步指南:为所有110个错误提供详细的、特定于错误的复制步骤。
支持的项目与缺陷数量
| 项目 | 缺陷数量 |
|---|---|
| awx | 5 |
| dolibarr | 25 |
| enviroCar-server | 4 |
| flowable-engine | 5 |
| kafka-rest | 3 |
| mastodon | 5 |
| netbox | 6 |
| nocodb | 6 |
| podman | 23 |
| restcountries | 16 |
| seaweedfs | 9 |
| signal-cli-rest-api | 3 |
完整错误列表见:https://github.com/ANSWER-OSU/Defects4REST/blob/main/bug_replication/README.md
安装与使用
先决条件
- Linux / macOS:Python 3.9+、Docker和Docker Compose、Git、Go 1.16+。
- Windows:Python 3.9+、Docker和Docker Compose、Git、Go 1.16+、安装有Ubuntu的WSL2、启用WSL集成的Docker Desktop。
- 项目特定要求(Podman):仅复制Podman项目的缺陷时需要。需Linux环境、
sudo权限及特定系统包。
从源代码安装
bash git clone https://github.com/ANSWER-OSU/Defects4REST.git cd Defects4REST pip install -e . defects4rest --help
基本用法
- 查看错误详情:
defects4rest info -p <project> -i <issue> - 部署错误版本:
defects4rest checkout -p <project> -i <issue> --buggy --start - 部署修复版本:
defects4rest checkout -p <project> -i <issue> --patched --start - 清理环境:
defects4rest checkout -p <project> -i <issue> --clean
详细文档:
- info命令:https://github.com/ANSWER-OSU/Defects4REST/blob/main/docs/commands/info.md
- checkout命令:https://github.com/ANSWER-OSU/Defects4REST/blob/main/docs/commands/checkout.md
数据内容与规范
- OpenAPI规范:每个错误的OpenAPI规范文件位于
bug_replication/<project>/<project>#<issue>/<project>#<issue>_spec.json/yaml路径下。- 示例:https://github.com/ANSWER-OSU/Defects4REST/blob/main/bug_replication/awx/awx%2311130/awx%2311130_spec.json
REST API缺陷分类法
| 缺陷类型 | 子缺陷类型 |
|---|---|
| 配置与环境问题 (T1) | 容器与资源配额处理错误 (ST1) |
| 作业执行与工作流配置缺陷 (ST2) | |
| 环境特定行为与配置错误 (ST3) | |
| 数据验证与查询处理错误 (T2) | POST API中的模式与负载验证错误 (ST4) |
| 查询过滤器与搜索参数处理错误 (ST5) | |
| 认证、授权与会话管理问题 (T3) | 认证与令牌管理错误 (ST6) |
| 会话、令牌与账户生命周期管理错误 (ST7) | |
| 集成、中间件与运行时环境故障 (T4) | REST API中的中间件集成故障 (ST8) |
| 容器化API中的进程信号与分组问题 (ST9) | |
| 运行时与依赖错误 (ST10) | |
| 数据存储、访问与卷错误 (T5) | 卷与文件上传/访问错误 (ST11) |
| 数据库/表用户访问处理错误 (ST12) | |
| 分布式系统与集群故障 (T6) | 索引与集群协调故障 (ST13) |
贡献与许可
- 贡献:欢迎贡献新缺陷,指南见:https://github.com/ANSWER-OSU/Defects4REST/blob/main/docs/ADDING_BUGS.md
- 许可证:本项目采用MIT许可证,详情见:https://github.com/ANSWER-OSU/Defects4REST/blob/main/LICENSE
搜集汇总
数据集介绍

构建方式
在REST API应用缺陷研究领域,Defects4REST Version 1.0的构建体现了系统化与可复现性的核心理念。该数据集通过精心筛选12个真实世界的开源项目,从中提取了110个具有代表性的缺陷案例。每个缺陷均配备了详细的部署脚本、复制步骤及元数据,确保了实验环境的可重复搭建。构建过程中,团队为每个缺陷初始化了特定的预配置环境,包括管理员账户、API令牌及测试数据等必要组件,从而在单一命令下即可部署缺陷或修复版本,为后续的实证研究奠定了坚实基础。
使用方法
利用Defects4REST进行缺陷研究,研究者可通过命令行工具高效操作。安装后,使用`defects4rest info`命令可查阅特定缺陷的详细信息,而`defects4rest checkout`则支持一键部署缺陷或修复版本的环境,并可通过附加参数启动服务或清理资源。数据集为每个缺陷提供了OpenAPI规范文件,便于进行接口测试与验证。这种集成化的使用方法,不仅简化了实验流程,也支持对REST API缺陷的自动化分析与比较研究。
背景与挑战
背景概述
随着REST API在现代分布式系统中的广泛应用,其可靠性与安全性成为软件工程领域的关键研究课题。Defects4REST Version 1.0由ANSWER-OSU研究团队构建,作为一个综合性基准测试与缺陷挖掘框架,旨在系统性地部署、测试和分析REST API应用中的真实缺陷。该数据集涵盖了12个开源项目的110个缺陷,并提供了详细的部署脚本、复现步骤及元数据,为API测试、缺陷检测及修复技术的研究提供了标准化实验平台,显著推动了软件质量保障领域的发展。
当前挑战
在REST API缺陷研究领域,现有工作常面临缺陷样本稀缺、复现环境复杂及分类体系不统一等挑战。Defects4REST通过构建涵盖多类缺陷的基准数据集,直接应对了缺陷多样性不足与实验可重复性低的难题。在数据集构建过程中,研究人员需克服跨项目环境配置异构性、缺陷触发条件精确还原以及元数据标准化等困难,这些挑战的解决确保了数据集的科学性与实用性,为后续研究奠定了坚实基础。
常用场景
经典使用场景
在REST API软件测试与质量保障领域,Defects4REST数据集为研究人员提供了一个标准化的缺陷基准平台。该数据集通过集成12个真实开源项目的110个缺陷,支持单命令部署和预配置环境,使得用户能够便捷地复现和分析REST API中的各类错误。这一经典使用场景极大地促进了自动化测试工具、缺陷检测算法以及API可靠性评估方法的开发与验证,为软件工程实验提供了可重复的实证基础。
解决学术问题
Defects4REST数据集有效解决了REST API缺陷研究中缺乏标准化、可复现基准的学术难题。通过提供详细的缺陷分类、部署脚本和复制步骤,该数据集支持对配置错误、数据验证、身份认证、集成故障等六类常见缺陷进行系统性分析。其意义在于推动了软件测试、程序分析以及软件安全领域的方法创新,为理解REST API故障模式、提升软件可靠性提供了关键的数据支撑和实验平台。
实际应用
在实际应用层面,Defects4REST数据集被广泛应用于企业级API开发与运维流程中。开发团队可以利用该数据集训练和验证自动化测试工具,提升API接口的健壮性和安全性;质量保障工程师则能基于其缺陷分类体系,设计更全面的测试用例,覆盖容器化部署、分布式集群等复杂环境。此外,该数据集也为API网关、中间件等基础设施的容错设计与故障诊断提供了实用的参考案例。
数据集最近研究
最新研究方向
在REST API质量保障领域,Defects4REST数据集已成为推动自动化缺陷检测与修复技术发展的关键资源。该数据集整合了12个开源项目的110个真实缺陷,涵盖配置环境、数据验证、认证授权等六类典型故障,为学术界和工业界提供了可复现的基准测试平台。当前研究聚焦于利用该数据集训练智能模型,以提升API漏洞的自动识别与定位能力,特别是在容器化部署和分布式系统场景下,其精细化的缺陷分类体系正助力于构建更鲁棒的API安全防护机制。这一进展不仅加速了微服务架构的可靠性验证,也为持续集成环境中的异常预测提供了实证基础,显著降低了RESTful服务在复杂生态中的运维风险。
以上内容由遇见数据集搜集并总结生成



