Page 302 - 《软件学报》2021年第6期
P. 302

1876                                     Journal of Software  软件学报 Vol.32, No.6,  June 2021














                                 Fig.9    An example of difference comparison method
                                           图 9   差值对比方式举例

             在 3 天内,我们共使用该方法生成了 3 654 组测试用例;对于最终输出产生不一致的原因,我们也对其进行
         了分析.关于评价指标的设定是否能保证生成高质量的种子,我们也对此进行了实验.我们分别在设定评估指标
         和没有任何评估指标的情况下,使用该方法进行测试,并对输出不一致的触发情况进行了统计和比较分析,如表
         2 所示:经过评估指标后的种子质量有了明显提高,能触发更多的不一致输出.这也回答了我们前面提出的第 1
         个问题,即该方法确实可以生成高质量的种子.

                                        Table 2  Output inconsistent data
                                          表 2   输出不一致数据统计
                是否使用评估指标       触发不一致输出用例数量(组)        未触发不一致输出用例数量(组)         不一致输出比例(%)
                      是                3 120                   534               85.37
                      否                2 066                  1 588              56.52

         4.3   实验流程
             关于实验,我们首先确定被测目标.ROS 在应用层为机器人开发者集成了大量的功能包,例如定位绘图、行
         动规划、感知、模拟等等;其中,坐标系是一个非常重要的概念,TF 则是 ROS 为用户提供的与其息息相关的功
         能包;它使用一种树型数据结构,根据时间缓冲并维护多个参考系之间的坐标变换关系,可以帮助用户在任意时
         间,将点、向量等数据的坐标,在两个参考系中完成坐标变换.换句话说,TF 可以帮助我们简化坐标系间的转换工
         作,更好地实现机器人开发.使用 TF 功能主要包括广播和监听两个环节:广播过程可以向系统中广播参考系之
         间的坐标变换关系;系统中更可能会存在多个不同部分的 TF 变换广播,每个广播都可以直接将参考系变换关系
         直接插入 TF 树中,不需要再进行同步.监听过程则接收并缓存系统中发布的所有参考系变换,并从中查询所需
         要的参考系变换.TF 和 TF2 作为同时存在的两个功能包版本,其应用的准确性也将直接影响机器人功能开发.
         本文采用差分模糊测试的方法验证 TF 在 ROS 应用中的准确性.我们将差分测试的框架与模糊测试相结合,测
         试两个不同版本功能包在应用时的准确性.
             接下来建立被测模型,如图 10 所示.
                                               广播坐标变换规则
                                     广播节点1
                                    tf_broadcast          监听节点tf_listener
                                                          ٛ • 接收变换规则
                                                          ٛ • 完成坐标转换
                                     广播节点2
                                    tf2_broadcast
                                                广播坐标变换规则

                                             Fig.10   Tested model
                                              图 10   被测模型
   297   298   299   300   301   302   303   304   305   306   307