[发明专利]一种使用生成式网络进行失败测试用例生成的方法有效
申请号: | 202111145441.7 | 申请日: | 2021-09-28 |
公开(公告)号: | CN113836027B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 胡安林;谢欢;雷晏;刘春燕;李茂锦 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/2135;G06N3/0464;G06N3/084;G06N3/0455;G06N3/0475;G06N3/045;G06N3/094 |
代理公司: | 重庆晟轩知识产权代理事务所(普通合伙) 50238 | 代理人: | 王海凤 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 生成 网络 进行 失败 测试 方法 | ||
本发明涉及一种使用生成式网络进行失败测试用例生成的方法,该方法首先使用特征选择算法,对原始覆盖矩阵进行降维,从而获取原始覆盖矩阵的低维特征空间,之后建立一个条件变分自编码深度学习模型,将低维特征空间作为训练数据,使用反向传播算法进行参数更新,从而训练出一个能够生成失败测试用例的生成器。利用该生成器,生成失败测试用例,直到失败测试用例与成功测试用例数目相同。最后,将新增的失败测试用例融入原有测试用例集中并进行缺陷的定位。本发明方法使用一种改良的主成分分析算法对原始矩阵进行降维,并使用条件自编码器生成失败测试用例,从而缓解数据不平衡问题,达到提升缺陷定位效果的目的。
技术领域
本发明涉及软件测试技术领域,特别涉及一种使用生成式网络进行失败测试用例生成的方法。
背景技术
在软件开发和维护过程中,软件调试的目的是发现并修复软件中存在的错误。它是一个费时费力的过程,经常需要开发人员投入大量的精力和时间。为了降低调试的成本,研究人员提出了许多帮助调试人员寻找程序中缺陷的方法。一个典型的定位程序缺陷的过程为:假设有一个程序P,有一个从输入域构建的测试用例集T,程序P在执行完T中所有的测试用例后,会生成覆盖矩阵和失效向量,覆盖矩阵通常用矩阵的形式进行表示。之后使用各种缺陷定位方法(如基于频谱的缺陷定位方法(Spectrum-based fault localization,SFL)和基于深度学习的缺陷定位方法(Deep Learning-based fault localization,DLFL))对覆盖信息进行计算,最后得出一个降序排列的语句可疑值列表。
测试用例集T对于缺陷定位过程有着至关重要的作用,它包含两种不同特征的测试用例:成功的测试用例和失败的测试用例。然而,在现实中导致软件失效的失败测试用例的数目远远小于成功测试用例的数目。现有的研究表明,失败的测试用例往往对定位缺陷有更大的帮助,测试用例间的类别不平衡问题会影响到缺陷定位的最终结果。因此,需要生成更多有效的失败测试用例来减轻类别的不平衡问题。
数据增强通常是解决数据不平衡问题的主要方法,而通过生成式网络合成失败测试用例是使数据增强的一种非常有效的方法;而生成式网络(如生成对抗网络和变分自编码网络)又会通过生成合成的实例,以解决数据不平衡问题。当考虑使用生成式网络时,还存在一个很重要的问题:该网络模型程序的规模通常很大,语句数量很多,但是导致程序出错的代码却通常只有几行甚至一行;而映射到特征空间中后,就会存在着高维数据不利于训练,导致深度神经网络训练效率变低、效果变差,终而使其无法生成有效的失败测试用例。
发明内容
针对现有技术存在的上述问题,本发明要解决的技术问题是:如何生成有效的可以用于定位软件缺陷的失败测试用例。
为解决上述技术问题,本发明采用如下技术方案:一种使用生成式网络进行失败测试用例生成的方法,包括如下步骤:
S100:任意选择一个有缺陷的程序P和一组原始测试用例T,有缺陷的程序P包含N条可执行语句,原始测试用例T包含的测试用例数量为M,原始测试用例T中第i个测试用例为Ti,且Ti相对于程序P的已知输出为Ai;
S110:使用P执行T中第i个测试用例Ti,得到第i个测试用例Ti在程序P中的语句覆盖信息和第i个测试用例Ti经过程序P的实际输出bi;
S120:对比Ai和bi,若Ai和Bi相同,则第i个测试用例的标签Yi为0,若Ai和bi不同,则第i个测试用例的标签Yi为1;
S130:重复S110和S120,遍历T中所有测试用例,得到所有测试用例的语句覆盖信息和所有测试用例的标签;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111145441.7/2.html,转载请声明来源钻瓜专利网。