摘要:随着深度神经网络(deep neural network, DNN)的迅猛发展, 其在某些特定任务上的准确性已可媲美甚至超过人类. 然而, DNN与传统软件一样不可避免地存在缺陷, 若将带缺陷的DNN模型应用于安全攸关的领域甚至可能引发严重事故, 如何有效检测缺陷DNN模型已成为亟需解决的问题. 传统的差分测试方法将测试目标在同一测试输入下的输出结果作为差异分析的依据. 然而, 即使是相同训练程序和数据重复训练的不同DNN模型在同一测试输入下也常会产生不同的输出结果. 因此, 不能认为模型输出具有差异的两个模型中存在缺陷模型, 基于测试对象输出结果的传统差分测试方法难以直接用于DNN模型的缺陷检测. 为解决上述问题, 提出基于解释分析的DNN模型差分测试方法IADT (interpretation-analysis-based differential testing), 利用解释方法分析DNN模型对于测试输入的行为解释, 并使用统计方法分析模型对测试集行为解释的显著性差异来检测缺陷模型. 使用真实缺陷模型进行实验的结果表明, 解释方法的引入使IADT能有效检测缺陷DNN模型, 检测缺陷模型的F1值比DeepCrime高0.8%–6.4%, 而所消耗的时间仅为DeepCrime的4.0%–5.4%.