时间:2022年6月 会议:APIW
3.2.1 DL模型
近年来,复杂系统中通用DL模型或DL模块的测试有两种主要的不同框架。表1提供了一个概述。其中一个框架是DeepXplore[33]。DeepXplore提出了神经元覆盖率,这是神经网络的第一个测试指标。它同时测试多个DNN,通过联合梯度下降的方式提高神经元覆盖度,同时使每个DNN的预测结果尽可能不同,以找到可能导致错误的测试场景。基于DeepXplore,学者们进一步开发了新的白盒测试框架。DLFuzz[15]试图最大化神经元的覆盖率和预测原始输入与变量输入之间的差异,因此不再需要交叉验证dnn;DeepGauage[32]提出了k-多区域神经元覆盖和Top-k神经元覆盖等新的覆盖标准,并描述了4种生成对抗样本的方法;SADL[25]提出了出人意料的充分性作为一个新的标准,宣称测试用例应该“充分但不太出人意料”;Fabrice Harel et al.[16]指出神经元覆盖率不是一个合理的测试度量,自然度和输出公正性相结合更可靠。
另一种是由DeepTest[50]表示的,这是一个灰盒测试框架。这类测试工具通过对视觉图像实现各种类型的转换,直接生成对抗性样本,进而诱发dnn中的错误行为。DeepTest通过模拟和改变真实的驾驶条件(如雨、雾和照明)来生成测试场景,同时使用神经元覆盖作为指导测试用例生成的标准。DeepRoad[61]将生成对抗网络(generative adversarial networks, GAN)应用于真实的天气场景中,生成不同天气条件下的驾驶场景,从而生成测试场景。它使用变形测试技术合成图像,以检查这些系统的一致性。DeepHunter[55]通过图像变化生成测试用例,并使用多个测试指标来指导和评估测试结果。Jaganmohan Chandrasekaran等人[9]提出了一种新的图像变换方法,结合基本的图像变换生成t-way组合测试集,再由t-way组合测试集生成测试样本。