[发明专利]一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法在审
申请号: | 202110285188.9 | 申请日: | 2021-03-17 |
公开(公告)号: | CN113157564A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 祝义;赵宇 | 申请(专利权)人: | 江苏师范大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京淮海知识产权代理事务所(普通合伙) 32205 | 代理人: | 华德明 |
地址: | 221116 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 特征 分布 对齐 邻域 实例 选择 项目 缺陷 预测 方法 | ||
一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法,具体包括以下步骤:从软件缺陷数据集中选择源项目,合并所有源项目构成源项目集,并选择一个目标项目;计算源项目集的协方差矩阵、目标项目的协方差矩阵;消除源项目集的特征间相关性,并将目标项目的特征相关性填充到至其中,输出特征对齐后的源项目集数据在中选择与目标项目中实例相似度较高的实例构成训练实例集TS;使用训练实例集TS训练Logistic模型,再用此对目标项目中的每个实例进行缺陷预测分类。本发明通过采用特征分布对齐方法和邻域实例选择方法实现模型所需的训练数据的选择,有效解决跨项目软件缺陷预测方法中项目之间以及实例之间的差异性,提高缺陷预测性能。
技术邻域
本发明涉及软件工程邻域,具体涉及一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法。
背景技术
软件在很多应用邻域的重要性和依赖性日益增长,因此保障软件的可靠性越来越重要。预测软件项目中的缺陷对于软件开发过程至关重要,因为越晚发现软件中的错误,那么修复错误所需要的代价越大。软件缺陷预测的目的是帮助软件开发人员在项目开发早期发现和定位软件缺陷,从而合理分配软件测试资源以提升软件的可靠性。
软件缺陷预测方法是当前机器学习技术和软件测试邻域相结合的前沿研究。软件缺陷预测可以在软件产品发布之前预测出其存在缺陷的程序模块,以便合理地分配测试资源,提升软件质量。软件缺陷预测主要包括三个阶段:数据挖掘及处理、模型构建和模型应用。数据挖掘及处理是软件缺陷预测方法的最重要的阶段,也是保证软件缺陷预测模型性能的主要阶段。
当前绝大部分软件缺陷预测方法是基于同一项目的数据进行模型训练和预测,这种方法被称为项目内缺陷预测。但是如果需要预测的项目是一个新启动的软件项目,这种方法就不再可用。针对这种情况有研究人员提出了跨项目缺陷预测方法。
跨项目缺陷预测方法是基于源项目的已标记数据进行缺陷预测模型的训练,并在目标项目上进行缺陷预测。然而由于源项目和目标项目之间存在较大的数据分布差异性,因此在源项目上训练的模型在目标项目上未必能够取得良好的预测性能。因此如何减小项目之间的差异性,选择与目标项目中实例相似的源项目实例去构建缺陷预测模型是当前软件缺陷预测邻域的一个难点。
发明内容
本发明提供一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法,通过采用特征分布对齐方法和邻域实例选择方法实现模型所需的训练数据的选择,有效解决跨项目软件缺陷预测方法中项目之间以及实例之间的差异性,提高缺陷预测性能。
为实现上述目的,本一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法,具体包括以下步骤:
步骤1:从软件缺陷数据集中选择源项目和目标项目,合并所有源项目构成源项目集DS,并选择一个目标项目DT;
步骤2:计算源项目集DS的协方差矩阵CS,计算目标项目DT的协方差矩阵CT;
步骤3:消除源项目集DS的特征间相关性,并将目标项目DT的特征相关性填充到至其中,进行特征分布对齐,输出特征对齐后的源项目集数据
步骤4:在中选择与DT中实例相似度较高的实例构成训练实例集TS,进行邻域实例选择;
步骤5:使用训练实例集TS训练Logistic模型;
步骤6:使用Logistic模型对目标项目DT中的每个实例进行缺陷预测分类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏师范大学,未经江苏师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110285188.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种银制品清洁粉的制备及其使用方法
- 下一篇:集成电路及其布局方法