国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:陈元亮,马福辰,周远航,颜臻,姜宇,孙家广
单位:陈元亮,清华大学 软件学院, 北京 10008411,马福辰,清华大学 软件学院, 北京 10008402,周远航,清华大学 软件学院, 北京 10008403,颜臻,清华大学 软件学院, 北京 10008404,姜宇,清华大学 软件学院, 北京 10008405,孙家广,清华大学 软件学院, 北京 10008406
关键词:分布式系统;动态测试;缺陷挖掘;模糊测试;故障注入
基金:国家重点研发计划(2022YFB3104000)
分布式系统是当今计算生态系统的支柱, 它使得现代计算更加强大、可靠和灵活, 覆盖了从云计算、大数据处理到物联网等多个关键领域. 然而, 由于系统的复杂性, 分布式系统在代码实现过程中总是不可避免地引入一些代码缺陷, 从而对系统的可用性、鲁棒性以及安全性造成巨大威胁. 因此, 分布式系统的测试以及缺陷挖掘工作十分重要. 动态测试技术在系统运行中进行实时分析, 以挖掘其缺陷, 评估其行为和功能, 被广泛用于各种系统应用的缺陷检测中, 并成功发现了许多代码缺陷. 首先提出了分布式系统4层缺陷威胁模型, 并基于它分析了分布式系统测试需求与主要挑战, 提出了对分布式系统进行动态测试的一般框架. 从挖掘不同类型系统缺陷的角度介绍了典型的分布式系统动态测试工具. 总结了包括不同维度测试输入生成、系统关键状态感知、缺陷判定准则构建在内的分布式动态测试的关键技术. 对当前主流分布式系统动态测试工具的覆盖率和缺陷发现能力进行了评估, 从初步实验结果中可以看出多维度测试输入技术能有效提高分布式系统测试效率. 最后, 讨论了分布式系统动态测试的新趋势以及可能的未来发展方向.
来源:2025年第7期
《软件学报》期刊编辑部