[发明专利]一种去除重复变更的软件变更级缺陷预测方法在审
申请号: | 202010917981.1 | 申请日: | 2020-09-03 |
公开(公告)号: | CN112148595A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 许海涛;周成成;段瑞丰;林福宏;周贤伟 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 去除 重复 变更 软件 缺陷 预测 方法 | ||
1.一种去除重复变更的软件变更级缺陷预测方法,其特征在于,包括:
提取项目仓库中所有分支的变更数据;
对提取到的变更数据进行标注,标注信息包括:缺陷变更和非缺陷变更;
去除提取到的变更数据中的重复变更;
计算去除重复变更后的变更数据的变更级软件缺陷预测特征;
根据计算得到的变更级软件缺陷预测特征及标注信息,训练缺陷预测模型,以便训练好的缺陷预测模型判断待预测的变更数据是否是缺陷变更。
2.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述提取项目仓库中所有分支的变更数据包括:
挖掘项目仓库,从中析取代码变更元信息,按照元信息中代码变更的时间顺序建立代码前后变更关系图,根据建立的代码前后变更关系图提取项目仓库中所有分支的变更数据。
3.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述对提取到的变更数据进行标注包括:
扫描遍历所有存储在版本控制系统中的变更数据,根据变更日志进行关键词分析,搜索到所有修复缺陷代码的变更;
利用版本控制系统的diff命令识别所述修复缺陷代码的变更的代码行,去除噪音,识别到缺陷代码行;
利用版本控制系统的annotate命令回溯代码变更提交历史,识别出引入所述缺陷代码行的变更,将该变更标注为缺陷变更,并将缺陷变更以外的其余变更标注为非缺陷变更。
4.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述去除提取到的变更数据中的重复变更包括:
对提取到的变更数据进行遍历与比较,若两个变更满足以下3个条件:
条件1,两个变更在不同的分支上;
条件2,两个变更修改了相同的文件;
条件3,两个变更修改了相同的代码;
则判断所述两个变更为一对重复变更,去除其中变更时间较晚的变更。
5.根据权利要求2所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述计算去除重复变更后的变更数据的变更级软件缺陷预测特征包括:
利用析取的代码变更元信息和对变更数据的标注信息,计算去除重复变更后的变更数据的变更级软件缺陷预测特征。
6.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述变更级软件缺陷预测特征包括:变更增加的代码行数量、变更删除的代码行数量、变更前文件代码行数量、变更修改子系统数量、变更修改代码目录数量、变更修改文件数量、变更在文件级别分散度、变更文件有关开发者数量、变更文件距上次变更平均时间间隔、变更文件相关修改过的数量、是否为修复型变更、开发者已提交变更数量、开发者近期提交变更数量和开发者在子系统层面变更数量。
7.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述根据计算得到的变更级软件缺陷预测特征及标注信息,训练缺陷预测模型包括:
将计算得到的变更级软件缺陷预测特征及标注信息输入到分类器中,对分类器进行训练,当分类器的损失函数最小时,将此时的分类器作为训练好的缺陷预测模型。
8.根据权利要求1所述的去除重复变更的软件变更级缺陷预测方法,其特征在于,所述训练好的缺陷预测模型判断待预测的变更数据是否是缺陷变更包括:
将待预测的变更数据的变更级软件缺陷预测特征输入到训练好的缺陷预测模型中,所述缺陷预测模型判断待预测的变更数据是否是缺陷变更。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010917981.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高精密油管快速旋切机
- 下一篇:一种自动化包装箱制作上下料设备