- 复现DeepEST结果(acc + tests)
- 需要加的baseline:DeepGini、CAM(Coverage:NAC NBC SNAC KMNC TKNC LSC DSC)、CTM(Coverage:NAC NBC SNAC)
- 单类精度
- 改进现有的acc方法中的采样方式
关于ACC
结合killNum和pcs对测试用例重新进行排序
原来的选择方法:仅利用killNum对测试用例进行排序,然后根据分层,选择每层中killNum值最大的样本(不具有随机性,但是实验验证比在层内随机选择效果好)
现有的选择方法:
kpi = killNum × (1- w×pcs)
killNum和pcs均需进行归一化处理,w的值可以根据实验效果来确定
- pcs值较低的测试用例相较于pcs值较高的测试用例更容易杀死变异模型
- 效果优于仅使用killNum进行排序继而选择的结果。
- 进一步优化selection的效果
关于DeepEST的单类精度计算
假设其他方法的采样个数为100-1000,间隔为100
先依据模型对样本的预测将其分为十份(类别数目是10),分别对每一份样本单独引用deepest得出单类精度,但是这个时候每一类采样的个数是多少呢❓100÷10❓按单类样本占整个测试集的比例分配❓
Findings:直接在单类内选择要优于整体选择然后进行单类统计
- NAC:神经元激活覆盖率
- SNAC:神经元的值大于upper_bound的概率
- NBC:神经元的值小于lower_bound或者大于upper_bound的概率(总数为神经元个数*2)
- KMNC:将输出区间划分成k个部分,覆盖部分数与部分总数之比(少数的测试用例的输出没有落入这个区间、区间的少数部分也可能没有被覆盖过)
- TKNC:每一层的前k活跃的神经元总数与DNN中的神经元总数的比率
- LSA:
- DSA: