[发明专利]一种面向版本缺陷的基于修复模式的修复推荐方法有效
| 申请号: | 201910071219.3 | 申请日: | 2019-01-25 |
| 公开(公告)号: | CN109918100B | 公开(公告)日: | 2022-05-17 |
| 发明(设计)人: | 孙小兵;周威;李斌;张正华 | 申请(专利权)人: | 扬州大学 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F11/36 |
| 代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
| 地址: | 225009*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种面向版本缺陷的基于修复模式的修复推荐方法,包括步骤:首先提取与版本相关的已修复的bug,分析修复前后的代码片段,确定bug的错误类型和修复模式;其次确定待推荐修复的版本bug的错误类型;之后计算待推荐修复的版本bug报告与历史bug报告的相似度,提取历史bug报告的修复模式;然后根据相似度对修复模式进行排序,并提取修复模式所需的变量;之后结合源文件,分别从候选代码、待推荐修复的版本bug报告、历史修复记录中提取变量;最后通过匹配提取的变量与修复模式所需的变量,推荐修复模式推荐给开发人员。本发明的方法通过推荐修复模式,减少了修复的时间和成本,提高了开发人员缺陷修复的效率,且不受程序语言约束,普适性强。 | ||
| 搜索关键词: | 一种 面向 版本 缺陷 基于 修复 模式 推荐 方法 | ||
【主权项】:
1.一种面向版本缺陷的基于修复模式的修复推荐方法,其特征在于,包括以下步骤:步骤1、从bug存储库中提取与版本相关的已修复的bug,分析对比bug修复前后的代码片段,确定bug的错误类型和修复模式;步骤2、针对待推荐修复的版本bug对应的候选代码,提取所述候选代码的变量信息,并将变量信息与错误类型进行匹配,确定待推荐修复的版本bug的错误类型;步骤3、求取待推荐修复的版本bug报告与历史每个bug报告的相似度,之后对相似度进行降序排列,并依次提取前n个相似度对应的历史bug对应的修复模式;步骤4、根据错误类型与修复模式的对应关系,将步骤3提取的修复模式中属于同一错误类型的若干修复模式根据其对应的相似度进行降序排列,并提取所述若干修复模式各自所需的变量;步骤5、将所述候选代码预处理为独立的变量,并在源文件中进行搜索,提取候选代码在源文件中同等类型的变量;步骤6、将待推荐修复的版本bug报告预处理为变量,并在源文件中进行搜索,判断该变量是否为源文件中的变量,若是,则提取该变量;步骤7、从历史修复记录中修改过的代码中提取修改过的变量;步骤8、根据变量出现频率的高低对步骤5、6、7中提取的变量进行降序排列,筛选出前m个变量;针对每个变量,分别与步骤4中提取的每个修复模式所需的变量进行匹配,将变量相匹配的修复模式推荐给开发人员。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910071219.3/,转载请声明来源钻瓜专利网。





