[发明专利]面向bug报告的自动化修复方法有效

专利信息
申请号: 201910757075.7 申请日: 2019-08-16
公开(公告)号: CN110442527B 公开(公告)日: 2023-07-18
发明(设计)人: 孙小兵;马荧炜;曹琛;谢昊;杨硕;张婧玉 申请(专利权)人: 扬州大学
主分类号: G06F11/36 分类号: G06F11/36;G06F11/07
代理公司: 南京苏科专利代理有限责任公司 32102 代理人: 董旭东;陈栋智
地址: 225000 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提出了一种面向bug报告的自动化修复方法,属于软件维护领域。该方法首先在bug报告中使用缺陷定位技术,定位得到可疑bug语句块,根据其所在的函数提取函数关键信息,并使用DSL(领域特定语言)构造函数特征规约;接着抽取bug报告关键信息,使用DSL构造报告规约;然后构造一个“草案”,“草案”内包括可疑bug语句块所在的函数、函数特征规约以及报告规约;再基于“草案”搜索补丁数据库,返回相似度高的候选函数,抽取候选函数内代码片段作为候选补丁,将候选补丁替换可疑bug语句块并统一“草案”内函数变量的命名;最后基于报告规约中的输入输出测试集,单元测试“草案”中的函数,根据输出结果验证修复正确性。
搜索关键词: 面向 bug 报告 自动化 修复 方法
【主权项】:
1.一种面向bug报告的自动化修复方法,其特征在于,包括以下步骤:步骤1)利用缺陷定位技术定位到bug报告,得到具体文件中的具体类中函数的可疑bug语句块;步骤2)根据bug语句块所在的函数提取函数关键信息,并使用领域特定语言构造函数特征规约;步骤3)提取bug报告中的产品信息、组件信息、软件版本信息、平台信息以及bug报告内配套输入输出测试集,并使用领域特定语言将这些信息构造为报告规约;步骤4)构造 “草案”,“草案”包括可疑bug语句块所在的函数,以及分别在步骤2和步骤3中构造的规约;步骤5)基于“草案”搜索补丁数据库,比较补丁数据库内各个补丁规约与“草案”中规约相似度大小,返回一组与“草案”中的函数相似度较高的候选函数,构成候选函数列表;步骤6)根据步骤5,选取候选函数列表中相似度最高的函数,分析该候选函数与“草案”中的函数的具体语法树,在候选函数具体语法树中寻找一个节点,该节点与“草案”中的函数具体语法树中可疑bug语句块的父级类型一致,然后将该节点的子节点所代表的语句块作为候选补丁,并用该候选补丁替换“草案”中函数内的可疑bug语句块;步骤7)根据报告规约中的输入输出测试集,单元测试“草案”中的函数,根据输出结果验证修复正确性。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910757075.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top