摘要:以深度神经网络(deep neural networks, DNN)为基础构建的自动驾驶软件已成为最常见的自动驾驶软件解决方案. 与传统软件一样, DNN也会产生不正确输出或意想不到的行为, 基于DNN的自动驾驶软件已经导致多起严重事故, 严重威胁生命和财产安全. 如何有效测试基于DNN的自动驾驶软件已成为亟需解决的问题. 由于DNN的行为难以预测和被人类理解, 传统的软件测试方法难以适用. 现有的自动驾驶软件测试方法通常对原始图片加入像素级的扰动或对图片整体进行修改来生成测试数据, 所生成的测试数据通常与现实世界差异较大, 所进行扰动的方式也难以被人类理解. 为解决上述问题, 提出测试数据生成方法IATG (interpretability analysis-based test data generation), 使用DNN的解释方法获取自动驾驶软件所做出决策的视觉解释, 选择原始图像中对决策产生重要影响的物体, 通过将其替换为语义相同的其他物体来生成测试数据, 使生成的测试数据更加接近真实图像, 其过程也更易于理解. 转向角预测模型是自动驾驶软件决策模块重要组成部分, 以此类模型为例进行实验, 结果表明解释方法的引入有效增强IATG对转向角预测模型的误导能力. 此外, 在误导角度相同时IATG所生成测试数据比DeepTest更加接近真实图像; 与semSensFuzz相比, IATG具有更高误导能力, 且IATG中基于解释分析的重要物体选择技术可有效提高semSensFuzz的误导能力.