Page 190 - 《软件学报》2024年第6期
P. 190

2766                                                       软件学报  2024  年第  35  卷第  6  期


                  3.6   RQ3  实验结果分析
                                                                    [6]
                    作为基于图像的自动驾驶软件测试数据生成方法, DeepTest 常被用作转向角预测模型测试研究的对比基
                                    [9]
                 线  [5−7,36] , 而  semSensFuzz 同样关注所生成测试数据的真实性和对深度学习模型的误导能力. 为评价               IATG  生成测
                 试数据的有效性, 我们从        DeepTest 和  semSensFuzz  的  GitHub  仓库  (DeepTest, https://github.com/ARiSE-Lab/
                 deepTest), DeepTest 中获取其实现代码用于生成测试数据, 并与          IATG  生成的测试数据进行了比较. 实验中使用
                 DeepTest 定义的  6  种测试数据生成方法     (brightness, contrast, rotation, scale, shear 和  translation) 生成了  17 850  张测
                 试数据, 使用   semSensFuzz 定义的两种图像数据变异方法(改变物体颜色和添加物体) 生成了                    150 000  张测试数据,
                 其中改变物体颜色的方法只改变原始图像中某一物体的颜色, 并不会改变物体的语义和位置, 可认为其生成的图
                 像与原始图像属于同一场景而具有相同的测试预言. 而添加物体则会向原始图像中添加一个新物体, 所添加的物
                 体和原有物体之间将产生新的空间关系, 无法认为其生成的图像与原始图像属于同一场景, 新测试数据将具有不
                 同的测试预言. 因此, IATG     将和  semSensFuzz 所生成的   15  万张新测试数据比较      LPIPS  值, 但只与其中  5  万张使
                 用改变物体颜色方法生成的新测试数据比较误导角度. DeepTest 和                  semSensFuzz 的参数均设置为默认值, IATG
                 的参数设置沿用第       3.5  节的设置. 实验结果如图     12  所示, 其中图  12  为  IATG、DeepTest 和  semSensFuzz 使用改变
                 物体颜色方法所生成测试数据的误导角度对比箱型图; 图                   13  为  IATG、DeepTest 和  semSensFuzz 使用全部两种
                 方法所生成测试数据的        LPIPS  值对比的箱型图.


                                                                   0.30

                      14
                                                                   0.25
                      12
                      10                                           0.20
                      误导角度  8                                     LPIPS  0.15
                       6
                                                                   0.10
                       4
                                                                   0.05
                       2
                                                                     0
                       0              semSensFuzz 的误导能力低于
                         DeepTest  IATG S1  IATG S2 semSensFuzz        DeepTest  IATG S1  IATG S2 semSensFuzz
                                  测试数据生成方法                                      测试数据生成方法
                    图 12 不同测试数据生成方法的误导角度对比                       图 13 不同测试数据生成方法的          LPIPS  值对比
                    与  DeepTest 相比, 由图  12  可见, 当参数设置为   S1  时, IATG  误导角度的上四分位数比      DeepTest 小  2.1°, 而中
                 位数则仅比    DeepTest 小  0.4°. 这表明  IATG  的误导能力略低于    DeepTest. 但由图  13  可见, 当参数设置为    S1  和
                 S2  时, IATG  的  LPIPS  值中位数分别为  DeepTest 的  15.03%  和  1.04% (LPIPS  值越接近  0  则表示生成的图像越接
                 近真实的原始图像). 这表明        IATG  所生成的测试数据相比       DeepTest 更加接近原始图像, 即更加接近真实图像. 这
                 是由于   IATG  只替换图像中的部分物体并不会改变图像的其他区域, 而                 DeepTest 的方法通常会修改整张图像, 这
                 使得  IATG  生成的测试数据将更接近原始图像.
                    与  semSensFuzz 相比, 由图  12  可见, semSensFuzz 误导角度的上四分位数比     IATG  在参数设置为    S1  和  S2  时
                 分别小   8.75°和  1.04°, 表明                     IATG. 这是由于   semSensFuzz 的改变物体颜色方法缺乏
                 针对性, 只能对所有物体逐一变异, 与使用解释方法指导物体选择并将其替换为其他物体的                             IATG  相比, 误导能力
                 较弱. 如图  13  可见, semSensFuzz 所生成测试数据的     LPIPS  值的上四分位为    IATG  参数设置为   S1  和  S2  的  15.3%
                 和  156.0%, 这表明  IATG  在参数设置为   S2  时生成的测试数据相比       semSensFuzz 更加接近原始图像, 但在参数设
                 置为  S1  时生成的测试数据相比       semSensFuzz 与原始数据的差距更大.
                    为更直观地展示不同方法生成测试数据的真实性差异, 图                   14  展示了不同方法所生成部分测试数据的示例. 其
                 中每一列为原始数据及不同生成方法所生成的测试数据                    (DeepTest 仅展示了误导能力较强的       Rotation  和  Shear 两
   185   186   187   188   189   190   191   192   193   194   195