Fault-Injection-Dataset
收藏github2023-10-20 更新2024-05-31 收录
下载链接:
https://github.com/dessertlab/Fault-Injection-Dataset
下载链接
链接失效反馈官方服务:
资源简介:
该故障数据集包含了注入的故障、工作负载、故障的影响(包括用户侧的影响和我们深入的正确性检查)以及OpenStack云管理系统产生的错误日志。
This fault dataset comprises injected faults, workloads, the impacts of the faults (including user-side impacts and our in-depth correctness checks), and error logs generated by the OpenStack cloud management system.
创建时间:
2020-05-07
原始信息汇总
数据集描述
该故障数据集包含注入的故障、工作负载、故障的影响(包括用户端影响和深入的正确性检查)以及OpenStack云管理系统产生的错误日志。
项目组织
数据集内容
- 数据集包含OpenStack中故障注入实验的原始日志。
- 测试按注入的子系统(即Nova、Cinder和Neutron)分组。
- 共有911个测试:Nova 439个,Cinder 269个,Neutron 203个。
- 每个实验的日志保存在一个名为“
Test_id”的文件夹中,其中“id”是一个标识测试的递增数字。
文件结构
cinder.tsv、neutron.tsv和nova.tsv是包含实验故障分析的tsv文件。- 这些csv文件包含以下字段:
- Test: 包含特定测试的文件夹名称;
- Fault_Type: 注入故障的类型;
- Component: 要变异的源代码文件名称;
- Class: 包含变异语句的类名称;
- Function: 包含变异语句的函数名称;
- Fault_Point: 目标语句;
- Round_1: 如果实验在故障轮次失败则为“FAILURE”,否则为“NO_FAILURE”;
- Assertion_R1: 如果在故障轮次存在断言失败,则包含断言失败信息;
- API_R1: 如果在故障轮次存在API错误,则包含API错误信息;
- Round_2: 如果实验在无故障轮次失败则为“FAILURE”,否则为“NO_FAILURE”;
- Assertion_R2: 如果在无故障轮次存在断言失败,则包含断言失败信息;
- API_R2: 如果在无故障轮次存在API错误,则包含API错误信息。
测试文件夹结构
-
每个测试文件夹包含以下文件:
fp_info.data: 包含实验中注入故障的信息(包括故障类型、目标组件、目标类、目标函数和故障注入点);orig_file: 变异前的目标组件;mutated_file: 变异后的目标组件;diff:orig_file和mutated_file之间的差异文件。
-
子文件夹
Test_<id>/logs包含故障轮次(round_1子文件夹)和无故障轮次(round_2子文件夹)的原始日志。 -
每个轮次子文件夹包含代表OpenStack不同子系统的子文件夹(如
nova、cinder、neutron、glance等),其中包含测试期间生成的日志消息。 -
每个轮次子文件夹还包含
foreground_wl子文件夹,其中包含工作负载的日志文件:openstack_demo_workload-timestamp.out.log.bzip2.out: 包含工作负载执行的日志消息;openstack_demo_workload-timestamp.err.log.bzip2.out: 包含工作负载执行期间的错误消息,包括API错误和断言失败。
-
每个子文件夹
Test_<id>/logs/round_number还包含文件trace_Test_<id>_round_number,这是一个JSON文件,包含工作负载执行期间OpenStack中交换的所有消息。 -
在子文件夹
Test_<id>/logs/round_1中,可以找到包含工作负载执行期间故障激活时间戳的文件trigger_log。
搜集汇总
数据集介绍

构建方式
Fault-Injection-Dataset的构建基于OpenStack云计算平台的故障注入实验。研究人员通过模拟不同类型的软件故障,系统地注入了Nova、Cinder和Neutron等子系统的故障,并记录了故障注入后的系统行为。每个实验的日志文件被保存在以`Test_id`命名的文件夹中,其中包含了故障注入前后的代码文件、差异文件以及执行日志。此外,实验还分为故障注入轮次和无故障轮次,以对比分析故障对系统的影响。
使用方法
使用Fault-Injection-Dataset时,研究人员可以通过分析`cinder.tsv`、`neutron.tsv`和`nova.tsv`等文件中的故障分析数据,了解不同故障类型对系统的影响。每个测试文件夹中的`fp_info.data`文件提供了故障注入的详细信息,而`logs`子文件夹中的日志文件则记录了故障注入和无故障注入轮次的执行情况。通过对比这些日志文件,研究人员可以识别故障传播的模式,并评估系统的容错能力。此外,数据集中的Zipkin追踪文件为分布式系统的故障分析提供了额外的支持。
背景与挑战
背景概述
Fault-Injection-Dataset数据集由Domenico Cotroneo等研究人员于2019年创建,旨在通过故障注入实验分析OpenStack云计算平台的软件故障行为。该数据集收录了在OpenStack的Nova、Cinder和Neutron子系统中注入的故障,涵盖了故障类型、工作负载、故障影响以及错误日志等多维度信息。相关研究论文发表于ESEC-FSE 2019会议,为云计算系统的可靠性研究提供了重要的实证数据支持。该数据集的发布不仅推动了故障传播分析技术的发展,还为云平台的高可用性和容错性设计提供了科学依据。
当前挑战
Fault-Injection-Dataset的构建面临多重挑战。首先,故障注入实验的设计需确保故障类型的多样性和代表性,以全面覆盖OpenStack系统的潜在失效模式。其次,实验过程中需精确捕捉故障对系统行为的影响,包括用户侧的影响和系统内部的正确性检查,这对数据采集和分析提出了高要求。此外,数据集的组织和存储需兼顾数据的完整性和可追溯性,确保每项实验的原始日志、故障信息和执行结果能够被有效关联和复用。最后,数据集的公开共享还需解决隐私保护和数据格式标准化等问题,以促进其在学术界的广泛应用。
常用场景
经典使用场景
Fault-Injection-Dataset 数据集在云计算平台的故障注入实验中具有广泛的应用。通过模拟OpenStack云管理系统的各种故障场景,研究人员能够深入分析系统在不同故障条件下的行为表现。该数据集不仅包含了故障注入的详细日志,还记录了故障对系统性能和用户端的影响,为系统可靠性和容错性研究提供了宝贵的数据支持。
解决学术问题
该数据集有效解决了云计算平台中故障传播和影响分析的难题。通过提供详细的故障注入实验数据,研究人员能够量化不同故障类型对系统的影响,识别系统中的脆弱点,并设计更健壮的容错机制。这一数据集为软件工程领域中的故障预测、故障恢复和系统优化研究提供了重要的实证基础。
实际应用
在实际应用中,Fault-Injection-Dataset 数据集被广泛用于云计算平台的测试和验证。通过分析故障注入实验的结果,开发团队能够优化OpenStack系统的架构设计,提升系统的稳定性和可靠性。此外,该数据集还为云服务提供商提供了故障预防和快速响应的参考依据,有助于减少服务中断和提升用户体验。
数据集最近研究
最新研究方向
在云计算领域,Fault-Injection-Dataset为研究OpenStack云管理系统的故障注入及其影响提供了宝贵的数据资源。近年来,随着云计算技术的广泛应用,系统的可靠性和容错能力成为研究热点。该数据集通过模拟真实环境中的故障注入,详细记录了故障类型、组件、函数及故障点等信息,为分析软件故障的传播路径和影响范围提供了实证基础。结合分布式追踪系统Zipkin,研究者能够深入探讨故障在复杂系统中的传播机制,进而优化系统的容错设计和故障恢复策略。这一研究方向不仅推动了云计算系统的可靠性提升,也为未来智能运维和自动化故障检测技术的发展奠定了数据基础。
以上内容由遇见数据集搜集并总结生成



