姜宇,E-mail:jiangyu198964@126.com
TP311
国家重点研发计划(2022YFB3104000)
National Key Research and Development Project (2022YFB3104000);
分布式系统是当今计算生态系统的支柱, 它使得现代计算更加强大、可靠和灵活, 覆盖了从云计算、大数据处理到物联网等多个关键领域. 然而, 由于系统的复杂性, 分布式系统在代码实现过程中总是不可避免地引入一些代码缺陷, 从而对系统的可用性、鲁棒性以及安全性造成巨大威胁. 因此, 分布式系统的测试以及缺陷挖掘工作十分重要. 动态测试技术在系统运行中进行实时分析, 以挖掘其缺陷, 评估其行为和功能, 被广泛用于各种系统应用的缺陷检测中, 并成功发现了许多代码缺陷. 首先提出了分布式系统4层缺陷威胁模型, 并基于它分析了分布式系统测试需求与主要挑战, 提出了对分布式系统进行动态测试的一般框架. 从挖掘不同类型系统缺陷的角度介绍了典型的分布式系统动态测试工具. 总结了包括不同维度测试输入生成、系统关键状态感知、缺陷判定准则构建在内的分布式动态测试的关键技术. 对当前主流分布式系统动态测试工具的覆盖率和缺陷发现能力进行了评估, 从初步实验结果中可以看出多维度测试输入技术能有效提高分布式系统测试效率. 最后, 讨论了分布式系统动态测试的新趋势以及可能的未来发展方向.
Distributed systems are the pillars of the current computing ecosystem, which make modern computing more powerful, reliable, and flexible, covering several key fields from cloud computing and big data processing to the Internet of Things. However, due to the complexity of the system, some code defects are inevitably introduced during the code implementation of distributed systems, thus posing a huge threat to the availability, robustness, and security of the system. Therefore, the testing and defect detection work of distributed systems is very important. Dynamic testing technology conducts real-time analysis during the system operation to detect its defects and evaluate its behavior and functions, and is widely used in the defect detection of various system applications and has successfully found many code defects. A four-layer defect threat model of distributed systems is proposed in this study. Based on it, the testing requirements and main challenges of distributed systems are analyzed, and a general framework for dynamic testing of distributed systems is proposed. Then, typical dynamic testing tools for distributed systems are introduced from the perspective of detecting different types of system defects. Next, the study highlights critical techniques such as multidimensional test input generation, system-critical state awareness, and defect judgment criteria. Additionally, the paper reviews popular dynamic testing tools and evaluates their effectiveness in defect discovery and test coverage. The coverage and defect discovery capabilities of the current mainstream dynamic testing tools for distributed systems are evaluated. The findings show that multidimensional input generation significantly enhances testing efficiency. Finally, the study discusses emerging trends and future directions in dynamic testing of distributed systems, aiming to address their inherent challenges and improve testing outcomes.
陈元亮,马福辰,周远航,颜臻,姜宇,孙家广.分布式系统动态测试技术研究综述.软件学报,2025,36(7):2964-3002
复制