[发明专利]一种基于动态特征引导实例选择的跨项目缺陷预测方法在审
申请号: | 202210501969.1 | 申请日: | 2022-05-09 |
公开(公告)号: | CN114781542A | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 文万志;张瑞年;陈义;王晨宇;沈陈强;朱宁波;王则林;赵理莉 | 申请(专利权)人: | 南通大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N20/00 |
代理公司: | 南通一恒专利商标代理事务所(普通合伙) 32553 | 代理人: | 梁金娟 |
地址: | 226000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 特征 引导 实例 选择 项目 缺陷 预测 方法 | ||
本发明提供一种基于动态特征引导实例选择的跨项目缺陷预测方法,包括如下步骤:S1、构建项目实例向量集CPIVS;S2、构建预训练动态特征PREDF;S3、计算预训练动态特征与实例特征之间距离;S4、构建引导实例选择索引集GISI;S5、构建基于动态特征引导实例选择的训练集DFD;S6、构建基于动态特征引导实例选择的跨项目缺陷预测方法DFGIS。本发明通过动态调整实例集特征实现更加准确的源实例选择,使用该方法构建的训练集有利于建立精确的跨项目缺陷预测模型,进一步提高跨项目缺陷预测效果。
技术领域
本发明属于软件缺陷预测技术领域,具体涉及一种基于动态特征引导实例选择的跨项目缺陷预测方法。
背景技术
大型软件系统由众多的软件模块组成,在这些软件模块中可能存在隐藏的逻辑或者控制流程缺陷,为了保证生产活动的稳定进行,有必要通过尽早审查和严格测试软件模块等方法发现并去除缺陷模块。
不同的项目拥有不同的规模和分布特征,对于一个目标项目选择一个源项目建立缺陷预测模型,在源项目中可能存在与目标项目相关性并不强的实例数据,此类数据在一定程度上影响缺陷预测模型的性能表现,因此在构建精确的跨项目软件缺陷预测模型时,有必要对数据集进行预处理。
为了实现更好的跨项目缺陷预测效果,需要提供一种基于动态特征引导实例选择的跨项目缺陷预测方法。
发明内容
本发明要解决的技术问题是提供一种基于动态特征引导实例选择的跨项目缺陷预测方法,利用训练集中已有实例数据构建动态特征,针对目标项目中实例的特征向量与动态特征之间的相似度进行源实例选择,进一步提高跨项目缺陷预测结果。
为解决上述技术问题,本发明的实施例提供一种基于动态特征引导实例选择的跨项目缺陷预测方法,包括如下步骤:
S1、构建项目实例向量集CPIVS;
S2、构建预训练动态特征PREDF;
S3、计算预训练动态特征与实例特征之间距离;
S4、构建引导实例选择索引集GISI;
S5、构建基于动态特征引导实例选择的训练集DFD;
S6、构建基于动态特征引导实例选择的跨项目缺陷预测方法DFGIS。
其中,步骤S1包括如下步骤:
S1.1、基于开源网站获取软件项目集合;
S1.2、以项目类作为实例构建项目实例集合;
S1.3、基于开源数据历史记录、项目源代码语法结构、源代码抽象语法树构建传统度量元集{WMC,DIT,NOC,CBO,RFC,LCOM,LCOM3,NPM,DAM,MOA,MFA,CAM,IC,CBM,AMC,Ca,Ce,Max_CC,Avg_CC,LOC},其中,WMC代表每个类的加权方法,DIT代表继承树的深度,NOC代表子类的数目,CBO代表对象类之间的耦合,RFC代表一个类的响应,LCOM和LCOM3代表在方法上缺少的凝聚力,NPM代表公共类的个数,DAM代表数据访问指标,MOA代表聚合的量度,MFA代表功能抽象的量度,CAM代表类方法之间的聚合,IC代表继承耦合,CBM代表方法之间的耦合,AMC代表平均方法复杂度,Ca代表传入耦合,Ce代表传出耦合,Max_CC代表McCabe圈复杂性的最大值,Avg_CC代表McCabe圈复杂性的平均值,LOC代表代码的行数;
S1.4、将源项目中的所有实例按步骤S1.3处理得到源项目传统度量元向量集SCPIVS=[instance1,instance2,…,instancei],其中,i=1,2,3,…,n;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210501969.1/2.html,转载请声明来源钻瓜专利网。