paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Coverage Guided Fault Injection for Cloud Systems

面向云系统的覆盖率引导故障注入
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 2/10 · 论文属于云系统故障注入与崩溃恢复测试,核心是覆盖引导的动态测试而非静态分析,且与 LLM/Agent、浮点程序分析或贝叶斯程序分析均无直接关联。引用 23 inbox
Yu Gao, Wensheng Dou, Dong Wang, Wenhan Feng, Jun Wei, Hua Zhong, Tao Huang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 CrashFuzz,按运行时反馈变异并优先节点崩溃/重启组合,以覆盖率引导方式高效测试云系统的崩溃恢复行为。

现代云系统需要能从节点崩溃与重启中优雅恢复,但在特殊时序下发生的崩溃/重启会触发崩溃恢复协议及其实现中的缺陷。现有故障注入方法在缺乏开发者知识的情况下难以有效探索庞大的崩溃场景空间。本文提出 CrashFuzz,一种故障注入测试方法:它根据运行时反馈对可能的节点崩溃与重启组合进行变异,并优先探索那些易于提升代码覆盖率、触发崩溃恢复缺陷的组合,从而实现智能探索。作者实现了 CrashFuzz,并在 ZooKeeper、HDFS 与 HBase 三个主流开源云系统上进行评估。结果表明,CrashFuzz 共发现 4 个未知缺陷与 1 个已知缺陷;与其他故障注入方法相比,它能检测到更多崩溃恢复缺陷并获得更高的代码覆盖率。

问题
云系统在特殊时序下发生节点崩溃/重启会触发崩溃恢复协议与实现中的缺陷,而现有故障注入方法缺乏开发者知识,难以有效探索巨大的崩溃场景空间。
方法
CrashFuzz 依据运行时反馈变异节点崩溃与重启的组合,并优先选择那些可能提高代码覆盖率、触发崩溃恢复缺陷的组合,实现引导式智能探索。
评估
在 ZooKeeper、HDFS 和 HBase 三个开源云系统上实现并评估 CrashFuzz,检测到 4 个未知缺陷和 1 个已知缺陷,且相比其他故障注入方法能发现更多崩溃恢复缺陷并达到更高代码覆盖率。
原文摘要(Abstract)

To support high reliability and availability, modern cloud systems are designed to be resilient to node crashes and reboots. That is, a cloud system should gracefully recover from node crashes/reboots and continue to function. However, node crashes/reboots that occur under special timing can trigger crash recovery bugs that lie in incorrect crash recovery protocols and their implementations. To ensure that a cloud system is free from crash recovery bugs, some fault injection approaches have been proposed to test whether a cloud system can correctly recover from various crash scenarios. These approaches are not effective in exploring the huge crash scenario space without developers' knowledge. In this paper, we propose Crash Fuzz, a fault injection testing approach that can effectively test crash recovery behaviors and reveal crash recovery bugs in cloud systems. CrashFuzz mutates the combinations of possible node crashes and reboots according to runtime feedbacks, and prioritizes the combinations that are prone to increase code coverage and trigger crash recovery bugs for smart exploration. We have implemented CrashFuzz and evaluated it on three popular open-source cloud systems, i.e., ZooKeeper, HDFS and HBase. CrashFuzz has detected 4 unknown bugs and 1 known bug. Compared with other fault injection approaches, CrashFuzz can detect more crash recovery bugs and achieve higher code coverage.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{GaoDWFWZH23,
  title = {Coverage Guided Fault Injection for Cloud Systems},
  author = {Yu Gao and Wensheng Dou and Dong Wang and Wenhan Feng and Jun Wei and Hua Zhong and Tao Huang},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00186}
}