[发明专利]一种面向软件版本一致性缺陷的自动修复方法有效
申请号: | 201710848984.2 | 申请日: | 2017-09-13 |
公开(公告)号: | CN107643905B | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 孙小兵;王璐;李斌;朱俊武 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F8/71 | 分类号: | G06F8/71 |
代理公司: | 南京中新达专利代理有限公司 32226 | 代理人: | 孙鸥;朱杰 |
地址: | 225009 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 软件 版本 一致性 缺陷 自动 修复 方法 | ||
1.一种面向软件版本一致性缺陷的自动修复方法,其特征在于如下步骤:
(1)对于一个与版本相关的bug,将该bug的描述,源代码以及包含版本号说明的相关配置文件作为输入数据;
(2)分析bug描述,提取关键信息,如配置名、文件名、变量名,并将提取的关键信息用自然语言处理工具转化成特征向量;
(3)根据步骤(2)提取的关键信息,在bug的源代码中进行向前切片,用源代码通过的测试用例和未通过的测试用例在代码片段上进行测试,再用程序谱计算公式:
其中,s表示第s行程序代码,failed(s)和passed(s)分别表示第s行代码失败执行和成功执行的次数,totalpassed和totalfailed分别表示测试通过和未通过的测试用例数;基于上述公式定位出怀疑率为前20%的程序语句,最后再定位出最终的语句;
(4)分析已经定位的源代码上下文,这里分为两种修复可能:程序语言版本修复和配置版本修复;bug所属的系统的程序语言的版本出错,查看输入数据中的相关配置文件,读取配置文件,提取关键信息“versionName”对应的版本号,根据文件中配置的版本号进行修复;bug所属系统的其他配置版本出错:若bug描述中涉及到配置的局部变量在分配前引用,则将该配置变量设置为null,并修改配置的版本至最新;若bug描述涉及到配置的改进,则将该配置模块加载重定向到新版本;
(5)用测试用例对修复结束的软件进行测试;若测试成功,则修复成功,输出bug修复片段;若测试失败,则回到步骤(2)重新进行修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710848984.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于淬火机的锥齿轮淬火辅助装置
- 下一篇:一种锻轧钢球回火用球筐