深度学习系统变异算子的实证评估

这篇论文探讨了深度学习系统的变异测试,包括源级和模型级变异算子。RQ1识别出17个非等价、非平凡的变异算子。RQ2指出基于阈值的变异致死定义存在不一致性,建议采用变异致死概念。RQ3发现传统的句法变异算子对DL系统的影响不同于DL特定变异算子。RQ4表明变异分数是有效的充分性标准,与神经元覆盖率等相关。
摘要由CSDN通过智能技术生成

本周阅读了论文《An Empirical Evaluation of Mutation Operators for Deep Learning Systems》,实验部分特别是RQ2没太看懂,在此对该文章内容做简单总结,等待之后进一步补充。

基本概念:

变异测试:将人为故障注入系统。假设暴露(杀死)该人为故障的能力可以等同为暴露真实故障的能力。

DNN故障不一定是影响传统软件的逻辑故障,而是取决于模型怎么训练的。

DeepMutation(DM):DL变异算子框架,包含源级算子、模型级算子两种。

源级算子:在训练前修改原始训练数据或模型结构(分为全局、局部)。

模型级算子:改变已训练模型的权重、偏差或结构。

问题:

RQ1(变异算子):什么是非等价(non-equivalent)、非平凡(non-trival)的变异算子?

       检查变异算子是否对测试集质量评估有用。即如果其没有被可用的最大测试套件杀死,则标记为等价变异体;同时过滤掉可以被所有测试套件杀死的平凡变异。

RQ2(致死变异体的定义):建议的变异致死标准与基于阈值的标准是否不同?它与超参数配置有何关系?

       检查提出的变异致死概念是否与现有文献中使用的基于阈值的方法不同。

       使用各种参数检查每个变异算子,记录每个变异导致的准确率下降,并检查它是否高于预定义的阈值。基于阈值的方法可能会为每次运行提供不同结果(精度差高于阈值或精度差低于阈值),关注两种方法不一致的情况和基于阈值的方法在不同运行中结果不一致的情况。

RQ3(句法变异):DL变异算子是否和传统句法变异算子相同?

       传统测试中的变异测试是在被测软件的源代码中引入语法变化。分析其是否能影响DL系统,以及与DL特有变异算子比较。

RQ4(与其他充分性标准的比较):DL变异分数是否与其他DL充分性标准(如神经元覆盖率、意外覆盖率)相关?

       在一组不同的测试套件上测量每个度量,分析度量是否对测试数据的大小和质量的变化敏感。

结论:

RQ1:20个算子中确定了17个非等价、非平凡的算子,并为它们确定了超参数。

RQ2:基于阈值的变异致死定义是有问题的,因为它经常在运行过程中产生不一致的结果,并且需要仔细选择阈值,而阈值取决于变异算子的超参数。相反,变异致死不需要设置任何精度下降阈值。

RQ3:除了从模型中删除一层外,句法变异算子与本文分析的DL特定变异算子不同。证明DL特定变异算子的定义和DL特定变异工具的构建是合理的。

RQ4:变异分数是一个非常有区分性且功能强大的充分性标准,可以提供对测试数据质量的可靠评估。在其他提出的充分性标准中,LSA是与变异分数更匹配的标准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海苔小饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值