Page 51 - 《软件学报》2025年第7期
P. 51
2972 软件学报 2025 年第 36 卷第 7 期
适配方法 NA 人工编写适 配配置文件 人工配置数 据统计 人工进行数 据压缩 人工定义适 配规则 人工定义适 配规则 人工定义故 障注入点 人工建立配 置依赖 人工定义配 置文件 手动编写测 试输入 人工编写一 致性规则
工具扩展性
支持的分布式 系统 NA Berkeley DB, MPS, PACIFICA BitTorrent, RUBiS [54] , Panasas [55] HDFS, HBase ZooKeeper, YARN, Cassandra 分布式数据库、 分布式共识协 议等 AWS, Foundry, Azure, Kubernetes等 Httpd, PostgreSQL, Yum, MySQL ZooKeeper, Cassandra HDFS, Cassandra, Riak Voldemort Cassandra, Hadoop, Spark, ZooKeeper
复现 能力 无 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析 手动 分析
缺陷发现 判断 准则 人工定义模型 crash信号+ 人工断言 性能变化数据+ 人工分析 吞吐量收集、 监控、对比 人工定义规则 人工定义缺陷 检测规则 人工定义缺陷 检测规则 基于日志分析 基于日志分析 代码插桩+关键 信息提取 人工定义规则
表 3 分布式系统动态测试技术分类和典型工具
缺陷 类型 一致性 鲁棒性 扩展性 扩展性 鲁棒性 功能、一致 性、鲁棒性 鲁棒性 功能 一致性 扩展性 一致性
运行时 反馈 无 无 无 无 无 无 无 无 无 无 无
测试输入合成 输入 维度 通信 消息 错误 注入 用户 请求 用户 请求 错误 注入 错误 注入 错误 注入 系统 配置 节点 消息 用户 请求 节点 消息
语法语 义验证 NA 满足 NA NA NA 满足 满足 满足 满足 满足 满足
测试器交互 协作 测试器 方式 规模 关键事 1S+nT 件同步 NA 1F+2M NA 1T NA 1T+1M NA 1T+1M NA 1T+nM NA 1T+1M NA 1T+1M NA 1S+nT NA 1T+1M NA 1F+1M
测试 环境 NA 1物理机 40虚拟机 100物理机 1物理机 虚拟机 虚拟机 1物理机 1物理机 1物理机 1物理机
系统设置
节点 规模 NA 3 40 >1 000 3 NA NA 1–10 3 32–512 3
年份 1991 (IWTCS) 2009 (NSDI) 2011 (TOCS) 2014 (NSDI) 2014 (OSDI) 2015 2016 (Netflix) 2017 (EASE) 2018 (OOPSLA) 2019 (FAST) 2019 (EuroSys)
工具 TMT [51] MODIST [52] DieCast [53] Exalt [56] SAMC [57] Jepsen [58] ChaosMonkey [59] ConfTest [60] PCTCP [61] ScaleCheck [62] FlyMC [63]

