[发明专利]一种无需缺陷标注数据的软件缺陷检测方法有效
申请号: | 201810436555.9 | 申请日: | 2018-05-09 |
公开(公告)号: | CN108763063B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 黎铭;李润泽 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李玉平 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 无需 缺陷 标注 数据 软件 检测 方法 | ||
本发明公开了一种无需缺陷标注数据的软件缺陷检测方法,首先获取所有已完成编码的等待测试的软件模块,构造无缺陷标注的数据集合;利用无缺陷标注的数据集合通过异常检测算法建立软件缺陷检测模型;通过建立好的模型输出每个未检测的软件模块的检测分数,表示模块中有缺陷的可能性大小,分数越高说明模块存在缺陷的可能性越大;将所有等待测试的模块按照检测分数由高到低排序,并将等待测试的模块按此顺序依次送交测试人员进行测试,直到所有模块都进行过测试或没有可用的测试资源时结束。本发明能够在没有缺陷标注数据的情况下检测软件缺陷,解决了当前的软件缺陷检测方法需要大量测试资源以获取缺陷标注数据的问题。
技术领域
本发明涉及一种无需缺陷标注数据的软件缺陷检测方法,属于自动化软件质量辅助控制技术领域。
背景技术
随着计算机和互联网的普及,软件已经深入渗透到各行各业和我们的日常生活中。如今,软件的规模越来越大,复杂性越来越高,软件质量保证也引起了软件开发团队越来越多的重视。然而软件不是完美的,在软件开发过程中不可避免地会出现软件缺陷。如果不能尽早地发现并修复缺陷,可能会导致灾难性的后果。软件测试是软件开发过程中不可或缺的步骤。软件测试的目标是尽可能早地找出软件缺陷,并确保其得以修复。然而在实际的软件开发过程中,由于测试资源有限,时间紧迫等原因,软件测试往往是不够充分的,这可能导致许多潜在的软件缺陷未被发现。如何在有限的时间和资源下,尽可能地找出更多的潜在软件缺陷成为一个重要的问题。
研究人员发现通过软件缺陷检测可以在一定程度上缓解这一问题。软件缺陷检测即在进行软件测试前利用现有的数据和领域知识对软件的各个模块出现缺陷的可能性做出合理的预测,测试人员根据预测结果合理安排测试资源,先测试最可能出现缺陷的模块,后测试出现缺陷可能性小的模块,从而保证尽可能多地找出软件缺陷。
然而目前的软件缺陷检测方法的一大缺点是需要大量的缺陷标注数据的支持,为了获取缺陷标注数据就需要在软件缺陷检测之前投入许多测试资源和时间。然而这一条件在许多实际的软件开发过程中无法满足。在测试资源有限或时间紧迫时,无法获取缺陷标注数据的情况下,如何有效地进行软件缺陷检测成为急需解决的问题。
发明内容
发明目的:现有技术中软件缺陷检测方法需要通过人工测试来获取软件模块是否有缺陷的标注数据,在获得缺陷标注数据之后才能建立软件缺陷检测模型。但在测试资源有限或时间紧迫时无法获取缺陷标注数据,目前的软件缺陷检测方法无法在这种情况下有效地检测软件缺陷。针对这一问题,本发明提出了一种无需缺陷标注数据的软件缺陷检测方法,在没有足够的测试资源和时间的情况下也能有效地检测软件缺陷。
技术方案:一种无需缺陷标注数据的软件缺陷检测方法,通过以下步骤实现对已完成编码的等待测试的软件模块进行缺陷检测:
步骤(1)获取所有已完成编码的等待测试的软件模块;
步骤(2)选择度量元集合,利用软件度量技术计算模块在度量元集合中所有度量元上的值,这些值组成的实值向量就是模块的特征向量,所有模块的特征向量构成了无缺陷标注的数据集合;
步骤(3)利用无缺陷标注的数据集合,通过异常检测算法建立软件缺陷检测模型;
步骤(4)将未检测的软件模块的特征向量输入到建立好的软件缺陷检测模型,得到该模块的检测分数。检测分数的取值范围在0到1之间,表示模块中有缺陷的可能性大小,分数越高说明模块存在缺陷的可能性越大;
步骤(5)若还有未检测的软件模块,转至步骤(4),否则转至步骤(6);
步骤(6)将所有等待测试的软件模块按照检测分数由高到低排序;
步骤(7)将所有等待测试的软件模块按照所述分数顺序依次送交测试人员进行详细测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810436555.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置