[发明专利]一种基于聚类集成的软件缺陷预测方法在审
申请号: | 202211224284.3 | 申请日: | 2022-10-08 |
公开(公告)号: | CN115994310A | 公开(公告)日: | 2023-04-21 |
发明(设计)人: | 李志强;谢娟英;祁超 | 申请(专利权)人: | 陕西师范大学 |
主分类号: | G06F18/23 | 分类号: | G06F18/23;G06N20/20;G06F11/36 |
代理公司: | 西安铭泽知识产权代理事务所(普通合伙) 61223 | 代理人: | 田甜 |
地址: | 710119 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 集成 软件 缺陷 预测 方法 | ||
本发明提供了一种基于聚类集成的软件缺陷预测方法,属于软件缺陷预测技术领域,包括:从给定的项目数据中有放回的随机抽样N个软件实体x,从随机抽样的N个软件实体x中随机抽取m个度量元,形成数据集Xsubgt;*/subgt;,其中N为项目数据的软件实体总数;基于数据集Xsubgt;*/subgt;,采用聚类算法,构建无监督软件缺陷预测模型;对预测结果进行有缺陷和无缺陷标注,得到被抽取到的软件实体的预测标签向量p;重复抽样数据集Xsubgt;*/subgt;并生成预测标签向量p多次,对于被抽取到的软件实体xsupgt;i/supgt;,计算其集成预测结果P;若P大于0.5则说明所抽取的软件实体xsupgt;i/supgt;存在缺陷,若P小于等于0.5则说明所抽取的软件实体xsupgt;i/supgt;没有缺陷。该方法可以用于软件缺陷的预测。
技术领域
本发明属于软件缺陷预测技术领域,具体涉及一种基于聚类集成的软件缺陷预测方法。
背景技术
软件缺陷预测是软件质量保障中的关键技术之一,其动机是通过一些经济高效的技术,发现软件中存在的缺陷,保障软件产品的质量与可靠性。在软件开发过程中,不可避免的会产生软件缺陷,尽可能早的发现这些缺陷并将其修复,对软件后期的开发及维护具有极其重要的作用。这就使得软件缺陷预测技术在识别软件产品缺陷中具有广阔的应用前景。
无监督软件缺陷预测无需事先对待测软件项目中的数据进行标注,而是通过学习并挖掘自身数据的潜在结构以自动地识别软件缺陷。当目标项目是一个新开发的项目,并不存在历史缺陷数据或数据十分稀少,便可采用无监督缺陷预测。这对解决无历史缺陷数据或数据稀少的软件缺陷预测问题具有重要的研究意义。
近年来,研究者提出了一些基于聚类的无监督软件缺陷预测方法。然而这些方法大都依赖单个聚类的预测结果,其往往具有较低的准确性和较差的鲁棒性,难以实现对软件缺陷精确的预测。
总之,现有技术存在基于聚类的无监督软件缺陷预测方法依赖单个聚类的预测结果,具有较低的准确性和较差的鲁棒性,难以实现对软件缺陷精确的预测的问题。
发明内容
为了克服上述现有技术存在的不足,本发明提供了一种基于聚类集成的软件缺陷预测方法。
为了实现上述目的,本发明提供如下技术方案:
一种基于聚类集成的软件缺陷预测方法,包括:
从给定的项目数据中有放回的随机抽样N个软件实体x,从随机抽样的N个软件实体x中随机抽取m个度量元,形成数据集X*,其中N为项目数据的软件实体总数;
基于数据集X*,采用聚类算法,构建无监督软件缺陷预测模型;
根据无监督软件缺陷预测模型对软件实体进行缺陷预测,并对预测结果进行有缺陷和无缺陷标注,得到软件实体包含缺陷和无缺陷标注的预测标签向量p;
将所述预测标签向量p去除重复抽样的软件实体;
重复抽样数据集X*并生成预测标签向量p多次,对于被抽取到的软件实体xi,计算其被预测所生成的预测标签向量p(xi)的平均值P(xi),将P(xi)作为其集成预测结果;
若P(xi)大于0.5则说明所抽取的软件实体xi存在缺陷,若P(xi)小于等于0.5则说明所抽取的软件实体xi没有缺陷。
进一步,所述项目数据为待测软件项目的数据,软件实体指从程序代码或开发过程中抽取的实例模块,为方法、类、文件、包或代码变更。
进一步,还包括:采用z-score方法,对给定的项目数据进行归一化处理;所述归一化处理算法如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西师范大学,未经陕西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211224284.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多级临界速度可调和回程可控的智能减速顶
- 下一篇:悬架装置