一句话:提出参数感知的灰盒模糊测试方法,以单元测试为驱动高效检测云系统配置相关缺陷。
云系统高度可配置,但现有测试多只在默认配置下运行,配置相关缺陷难以暴露。本文把基于覆盖率的灰盒模糊测试用于云系统配置测试,并以开发者编写的单元测试作为 fuzz driver,以避免系统测试的集群初始化开销、获得高执行速度。针对单元测试通常只覆盖少量配置参数的问题,ConfFuzz 引入参数感知变异与能量分配:仅变异当前种子实际涉及的配置参数,并同时依据代码覆盖率和配置参数覆盖率分配模糊测试能量。作者在九个广泛使用的云系统上评估,相比无参数感知的灰盒模糊测试基线覆盖约 3.2 倍分支,并探索更多配置参数;ConfFuzz 及其变体共检测到 125 个缺陷,其中 14 个已修复、12 个已确认。
Cloud systems are highly configurable, with hundreds to thousands of configuration parameters. Configuration-related bugs are major sources of cloud failures, yet most tests only run under default configurations, leaving systems vulnerable to untested configurations. This paper applies coverage-based greybox fuzzing to configuration testing of cloud systems. We use developer-written unit tests as fuzz drivers: they avoid the cluster-initialization overhead of system tests and thus provide the high test execution speed that greybox fuzzing demands. Since cloud systems expose hundreds to thousands of configuration parameters but any unit test typically exercises only a small subset of them (15.14% on average), we design parameter-aware mutation and fuzzing energy allocation strategies: (1) we restrict mutation to only the configuration parameters exercised by each seed, and (2) we incorporate both code coverage and configuration parameter coverage into fuzzing energy allocation, giving more effort to seeds that explore more code and parameters. We implement these ideas in ConfFuzz and evaluate it on nine widely used cloud systems. Compared with a greybox fuzzing baseline without parameter-aware mutation and energy allocation, ConfFuzz covers roughly 3.2 times more branches while exploring substantially more configuration parameters. In total, ConfFuzz and its variants have detected 125 bugs, of which 14 have been fixed and 12 more have been confirmed.
@inproceedings{paperbot12513,
title = {ConfFuzz: Parameter-Aware Greybox Fuzzing for Configurable Cloud Systems},
author = {Shuai Wang and Hao Wang and Darko Marinov and Tianyin Xu and Yongle Zhang},
booktitle = {ASE},
year = {2026},
doi = {10.1145/3832783.3837476}
}