一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于蜕变测试的自监督深度学习型缺陷定位方法与流程

2021-10-29 22:55:00 来源:中国专利 TAG:缺陷 定位 学习型 深度 监督

技术特征:
1.基于蜕变测试的自监督深度学习型缺陷定位方法,其特征在于:包括如下步骤:s101:根据先验知识,构建目标程序p的蜕变关系mr;s102:获取测试用例集t,并根据mr的要求,从所述测试用例集t中挑出全部共m

组源测试用例s={s1,s2,s,s
m

},其中s
i
={s
i1
,s
i2
,

}表示第i组源测试用例,s
ij
表示s
i
中的第j个测试用例,并用每一个源测试用例组s
i
为mr生成相应的后续测试用例组f
i
={f
i1
,f
i2
,

},这里,一组相对应的源测试用例和后续测试用例被视为最小测试单元,即一个蜕变测试组mtg,第i个mtg内包含的测试用例为s
i
∪f
i
;s103:每个mtg中的全部测试用例被逐个输入给目标程序p用于执行,从中采集每个mtg内各个源测试用例和后续测试用例的执行输出以及执行过程中的语句覆盖矩阵行过程中的语句覆盖矩阵表示执行第i组源测试用例组中第j个源测试用例所获得的覆盖向,表示执行第i组后续测试用例组中第j个测试用例所获得的覆盖向量;如果将或统一用代表,那么其内的元素表示第k个语句是否在测试用例c的执行中被覆盖到了,覆盖时取1,未覆盖时取0,这里k的取值范围是[1,n],n是缺陷程序代码语句总数;s104:对于每个mtg,将测试用例组s
i
∪f
i
和相应的执行输出o
i
作为参数使用mr进行检验,判断mr是否被违反,得到该mtg的测试结果最终得到由m

行测试结果组成的违反向量这里用m={m1,m2,

,m
m

}代表全部m

个mtg,m
i
代表第i个mtg;s105:将每个mtg的覆盖矩阵进行转换得到与违反向量y
(m)
对齐的覆盖矩阵x
(m)
;s106:使用s105得到的覆盖矩阵x
(m)
和s104得到的违反向量y
(m)
分别作为样本和标签对dlfl模型进行训练,得到训练好的模型f;s107:对于目标程序p构建如下n
×
m的单位矩阵x作为辅助覆盖矩阵:其中每一行代表一个虚拟测试用例在n个语句上的覆盖情况,并且i个虚拟测试用例只覆盖第i个语句;s108:将所述辅助覆盖矩阵x输入模型f得到可疑值向量其中包含了缺陷程序p的n行代码中每一行的可疑值即2.如权利要求1所述的基于蜕变测试的自监督深度学习型缺陷定位方法,其特征在于:所述s105中将每个mtg的覆盖矩阵进行转换得到与违反向量y
(m)
对齐的覆盖矩阵x
(m)
,使用如下公式:使用如下公式:其中,表示表示第k个语句是否在测试用例c的执行中被覆盖到了;将s
i
∪f
i
中的每一个测试用例在第k个语句处的覆盖情况进行逻辑或运算,便能得到第i个mtg在该语句处总体上的覆盖情况全部n个语句的覆盖情况构成该mtg下的覆盖向量最后,全部m

个覆盖向量构成m
′×
n的覆盖矩阵x
(m)


技术总结
本发明公开了基于蜕变测试的自监督深度学习型缺陷定位方法,该方法首先构建蜕变关系,在给定的无测试预言的测试用例集的基础上生成出源测试用例和后续测试用例,然后收集覆盖信息和测试输出,接下来对前者进行集合求并,对后者进行蜕变关系验证,得到每个蜕变关系组内总的覆盖信息的测试结果,并整合成为覆盖矩阵与违反向量,输入给深度神经网络模型进行训练,学习模型,最后用模型完成对代码可疑值的预测,依据可疑值从大到小对缺陷程序的代码进行排序,完成缺陷定位。该方法克服了深度学习型缺陷定位的局限性,使其能被应用到测试预言缺失的情景中,以自监督的方式实现面向无标签数据集的缺陷定位,显著扩大了应用范围。显著扩大了应用范围。显著扩大了应用范围。


技术研发人员:胡安林 付凌峰 雷晏
受保护的技术使用者:重庆大学
技术研发日:2021.07.27
技术公布日:2021/10/28
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜