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

谢瑞麟 等: IATG: 基于解释分析的自动驾驶软件测试方法                                                  2771


                 在  IATG  所生成的场景相同的不同图像则难以进行采集.
                    在真实场景中捕捉的测试数据通常不会存在全局性的误导, 即真实场景中的误导因素通常是由图像中的某个
                 物体或者某部分所引起的. 为了模拟真实世界的这一特性, Zhou                 等人  [5] 提出了自动驾驶的系统物理世界测试方法
                 DeepBillboard, 他们选取了道路中常见的公告牌进行像素级别的对抗扰动. 公告牌的位置和区域会随着视角和距
                 离发生变化, 他们在扰动过程中确保扰动只会出现在公告牌区域内. 实验结果表明, 这类基于公告牌扰动的对抗样
                 本确实会对转向角预测模型产生误导. Kong            等人  [45] 提出的  PhysGAN  使用与  DeepBillboard  类似的方法生成对抗
                 广告牌, 并放置在真实世界以误导自动驾驶软件的转向角预测模型. 不同之处在于                         PhysGAN  生成的对抗广告牌是
                 基于真实广告牌添加扰动像素生成的, 而             DeepBillboard  则是没有实际意义的像素色块. Kong       等人使用麦当劳和
                 苹果公司的真实广告牌作为原始输入, 将添加对抗像素后的对抗广告牌放置在真实世界后经实验证明能有效误导
                 自动驾驶软件的转向角预测模型, 并在外观上非常接近原始广告牌. DeepBillboard                  和  PhysGAN  与  IATG  一样关注
                 到测试数据中某个物体对自动驾驶软件的误导. 但与                 IATG  不同, DeepBillboard  和  PhysGAN  所使用的是通过像素
                 级扰动来生成对抗样本的方法, 所添加的扰动通常不会出现在真实世界.
                    以上的方法往往只注重发现错误行为, 而没有关注环境条件对自动驾驶软件的影响. Li 等人                                [36] 提出的
                     again-with-two-passengers-rushing-to-icu-tesla-tesla-electric-car
                 TACTIC  方法, 可在不同的环境条件下测试基于深度学习的自动驾驶软件, 以识别关键的环境条件, 即自动驾驶软
                 件更容易出错的环境条件. 针对环境条件空间过大的问题, 他们提出了一种基于搜索的方法来识别由图像翻译方
                 法生成的关键环境条件. 大规模实验表明             TACTIC  与其他方法相比能够有效识别关键环境条件, 生成真实的测试
                 图像, 同时揭示更多的错误行为. TACTIC         与  IATG  一样关注于寻找导致自动驾驶软件缺陷的因素, 而非盲目的生
                 成大量测试数据. 不同之处在于          TACTIC  关注的是特定环境条件对自动驾驶软件的影响, 而                IATG  则关注相同场
                 景的不同图像对自动驾驶软件的影响.
                  6   总结和未来工作

                    为检测自动驾驶软件中的缺陷, 本文提出的测试数据生成方法                     IATG  利用深度学习的解释方法定位图像中的
                 重要物体, 并对其进行替换来生成测试数据, 对自动驾驶软件的决策模块产生误导, 以检测其中的缺陷. 与其他测
                 试数据生成方法相比, IATG       能有效检测基于      CNN  的转向角预测模型在面对场景相同的不同图像时产生不一致
                 行为所导致的错误. 实验结果表明, IATG          生成的测数据能有效误导转向角预测模型做出错误决策, 且在误导角度
                 相同时比   DeepTest 更加接近真实图像, 比      semSensFuzz 具有更高的误导能力, 且      IATG  基于解释分析的重要物体
                 选择方法可有效提高       semSensFuzz 生成测试数据的误导能力.
                    本文是将解释方法应用于自动驾驶软件测试的初步探索. 未来, 我们将进一步研究                           IATG  对自动驾驶软件其
                 他模块进行测试的可行性.

                 References:
                  [1]  Yu K, Jia L, Chen YQ, Xu W. Deep learning: Yesterday, today, and tomorrow. Journal of Computer Research and Development, 2013,
                     50(9): 1799–1804 (in  Chinese  with  English  abstract). [doi: 10.7544/issn1000-1239.2013.20131180]
                  [2]  LeCun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553): 436–444. [doi: 10.1038/nature14539]
                  [3]  Chen CY, Seff A, Kornhauser A, Xiao JX. DeepDriving: Learning affordance for direct perception in autonomous driving. In: Proc. of
                     the 2015 IEEE Int’l Conf. on Computer Vision. Santiago: IEEE, 2015. 2722–2730. [doi: 10.1109/ICCV.2015.312]
                  [4]  Archyde. Tesla hits a white truck again with two passengers rushing to ICU. 2021. https://www. archyde. com/tesla-hits-a-white-truck-


                  [5]  Zhou  HS,  Li  W,  Kong  ZL,  Guo  JF,  Zhang  YQ,  Yu  B,  Zhang  LM,  Liu  C.  DeepBillboard:  Systematic  physical-world  testing  of
                     autonomous driving systems. In: Proc. of the 42nd Int’l Conf. on Software Engineering. Seoul: IEEE, 2020. 347–358.
                  [6]  Tian YC, Pei KX, Jana S, Ray B. DeepTest: Automated testing of deep-neural-network-driven autonomous cars. In: Proc. of the 40th Int’l
                     Conf. on Software Engineering. Gothenburg: IEEE, 2018. 303–314. [doi: 10.1145/3180155.3180220]
                  [7]  Zhang MS, Zhang YQ, Zhang LM, Liu C, Khurshid S. DeepRoad: GAN-based metamorphic testing and input validation framework for
                     autonomous driving systems. In: Proc. of the 33rd IEEE/ACM Int’l Conf. on Automated Software Engineering. Montpellier: IEEE, 2018.
   190   191   192   193   194   195   196   197   198   199   200