当前位置: 首页 > 专利查询>扬州大学专利>正文

一种面向版本缺陷的基于修复模式的修复推荐方法技术

技术编号:21431491 阅读:34 留言:0更新日期:2019-06-22 11:43
本发明专利技术公开了一种面向版本缺陷的基于修复模式的修复推荐方法,包括步骤:首先提取与版本相关的已修复的bug,分析修复前后的代码片段,确定bug的错误类型和修复模式;其次确定待推荐修复的版本bug的错误类型;之后计算待推荐修复的版本bug报告与历史bug报告的相似度,提取历史bug报告的修复模式;然后根据相似度对修复模式进行排序,并提取修复模式所需的变量;之后结合源文件,分别从候选代码、待推荐修复的版本bug报告、历史修复记录中提取变量;最后通过匹配提取的变量与修复模式所需的变量,推荐修复模式推荐给开发人员。本发明专利技术的方法通过推荐修复模式,减少了修复的时间和成本,提高了开发人员缺陷修复的效率,且不受程序语言约束,普适性强。

【技术实现步骤摘要】
一种面向版本缺陷的基于修复模式的修复推荐方法
本专利技术属于软件缺陷修复领域,特别是一种面向版本缺陷的基于修复模式的修复推荐方法。
技术介绍
随着科技的逐步发展,手机,电脑成为人们生活中必不可少的通讯与工作工具。目前,人们的需求不断地增多,存在于手机、电脑上的软件的规模也变得越来越大,软件的产品结构也随之变得越来越复杂,软件故障也变得越来越普遍和复杂。作为计算机的灵魂,高可靠和复杂的系统依赖于软件的可靠性,软件故障难以修复,软件的可靠性就得不到保证。一个未能及时修复的软件故障可能导致整个系统的失效、瘫痪,甚至导致灾难性后果。比如,2005年4月软件失灵、继而导航失误,导致耗资1.1亿美元的nasa自主交会任务dart实验失败。美国国家标准与技术研究所的一项研究表明“软件故障如此普遍并且危害巨大,每年损失美国经济的595亿美元或国民生产总值的0.6%”。最近的一项研究表明,软件调试的全球成本是每年3,120亿美元,软件开发人员将50%的时间花在修复上。软件版本bug是在软件不断的更新换代中产生的,目前很多软件不断开发新版本,很多服务器都是在以前的接口逻辑上进行修改,版本升级后会产生不兼本文档来自技高网...

【技术保护点】
1.一种面向版本缺陷的基于修复模式的修复推荐方法,其特征在于,包括以下步骤:步骤1、从bug存储库中提取与版本相关的已修复的bug,分析对比bug修复前后的代码片段,确定bug的错误类型和修复模式;步骤2、针对待推荐修复的版本bug对应的候选代码,提取所述候选代码的变量信息,并将变量信息与错误类型进行匹配,确定待推荐修复的版本bug的错误类型;步骤3、求取待推荐修复的版本bug报告与历史每个bug报告的相似度,之后对相似度进行降序排列,并依次提取前n个相似度对应的历史bug对应的修复模式;步骤4、根据错误类型与修复模式的对应关系,将步骤3提取的修复模式中属于同一错误类型的若干修复模式根据其对应...

【技术特征摘要】
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中提取的每个修复模式所需的变量进行匹配,将变量相匹配的修复模式推荐给开发人员。2.根据权利要求1所述的面向版本缺陷的基于修复模式的修复推荐方法,其特征在于,步骤1所述从bug存储库中提取与版本相关的已修复的bug,具体为:在bug存储库中,以“version”作为查询关键字、将状态限定为“fixed”进行搜索,提取与版本相关的已修复的bug。3.根据权利要求2所述的面向版本缺陷的基于修复模式的修复推荐方法,其特征在于,步骤1所述错误类型包括版本号出错、参数出错、方法名出错、路径出错、版本类型出错、正则表达式出错;修复模式包括修改版本号、修改参数、修改...

【专利技术属性】
技术研发人员:孙小兵周威李斌张正华
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1