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]
   46   47   48   49   50   51   52   53   54   55   56