买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于代码表示的软件缺陷自动修复加速方法_天津大学_202111337290.5 

申请/专利权人:天津大学

申请日:2021-11-12

公开(公告)日:2024-04-09

公开(公告)号:CN114064472B

主分类号:G06F11/36

分类号:G06F11/36;G06F8/41;G06F8/65

优先权:

专利状态码:有效-授权

法律状态:2024.04.09#授权;2022.03.08#实质审查的生效;2022.02.18#公开

摘要:本发明公开了一种基于代码表示的软件缺陷自动修复加速方法,对于给定的代码片段,使用代码表示模型获得它们的向量表示;利用ASTNN算法和CodeBERT算法分别计算候选相似代码段与疑似的错误代码段、生成的候选补丁与疑似的错误代码段的相似度之间的相似度;在候选补丁列表中根据候选补丁与疑似错误代码段之间的相似度以及各个候选补丁之间的相似度进行候选补丁筛选,其中与疑似的错误代码段相似度低于阈值的候选补丁以及与已知错误补丁相似度高于阈值的候选补丁被动态过滤掉;最后,对动态过滤过程处理结果进行修复验证。与现有技术相比,本发明在计算机软件的运行和维护方面提高了软件缺陷自动修复工具的修复效率,并减少了修复耗时。

主权项:1.一种基于代码表示的软件缺陷自动修复加速方法,其特征在于,该方法包括以下步骤:步骤一:候选相似代码向量化,即对于给定的代码片段m和n,使用代码表示模型来获得它们的向量表示:首先,对于给定的错误程序和自动缺陷修复工具以函数的粒度提取出潜在的候选相似代码;其次,将提取出的候选相似代码进行预处理,之后输入ASTNN神经网络和CodeBERT神经网络进行训练,得到训练后的候选相似代码的向量表示;对于每个候选相似代码段,利用代码表示模型ASTNN从语法层面和语义层面共同提取候选相似代码段信息,以及,利用代码表示模型CodeBERT从语义层面将候选相似代码段作为自然语言进行处理,使用预训练语言模型对候选相似代码段进行编码,得到候选相似代码的向量表示;步骤二:利用ASTNN算法和CodeBERT算法分别计算候选相似代码段与疑似的错误代码段、生成的候选补丁与疑似的错误代码段的相似度之间的相似度;步骤三:动态过滤,即在候选补丁列表中根据候选补丁与疑似的错误代码段之间的相似度以及各个候选补丁之间的相似度进行候选补丁筛选,其中与疑似的错误代码段相似度低于阈值的候选补丁以及与已知错误补丁相似度高于阈值的候选补丁被动态过滤掉;步骤四:修复验证,在大规模使用的基准数据集上进行验证,根据验证的结果对前面的动态过滤过程进行信息反馈,直到成功修复或程序运行结束。

全文数据:

权利要求:

百度查询: 天津大学 基于代码表示的软件缺陷自动修复加速方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。