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

一种面向对象程序中的方法调用缺陷自动修复方法技术

技术编号:39801320 阅读:15 留言:0更新日期:2023-12-22 02:32
本发明专利技术涉及面向对象程序中的方法调用缺陷自动修复问题,首先基于深度学习训练方法调用缺陷修复模型;然后基于方法调用缺陷修复模型生成候选补丁,并验证补丁的有效性,若存在有效补丁,则输出补丁,缺陷修复成功,否则将候选补丁形成初始种群,再使用基于遗传算法的方法生成更多的候选补丁,并通过计算适应度来判断补丁是否有效

【技术实现步骤摘要】
一种面向对象程序中的方法调用缺陷自动修复方法


[0001]本专利技术属于软件工程中的软件调试领域,尤其涉及一种面向对象程序中的方法调用缺陷自动修复方法


技术介绍

[0002]在软件开发和软件维护过程中,当发现缺陷以后需要通过软件调试来定位和修复缺陷,以提升软件的质量

但软件缺陷修复需要花费大量的人力成本,随着现代软件规模和复杂度逐渐增加,传统的人工调试方法面临挑战

为了降低开发人员的调试压力,减少软件缺陷修复的成本,研究人员提出了软件缺陷自动修复方法,得到了广泛的关注和应用

[0003]软件缺陷自动修复技术,包括基于搜索

修复模板

语义驱动和深度学习等修复技术

现有的软件缺陷自动修复技术大多探讨通用的解决方案,缺少对不同缺陷类型的具体分析,导致缺陷修复的针对性不强,缺陷修复率较低,修复效果不佳


技术实现思路

[0004]为了提高缺陷修复效果,本专利技术针对面向对象程序中出现概率较大的方法本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种面向对象程序中的方法调用缺陷自动修复方法,其特征在于,包括以下步骤:步骤1,基于深度学习训练方法调用缺陷修复模型,所述步骤1包含以下步骤:步骤1‑1,收集方法调用缺陷数据并进行预处理;步骤1‑2,选择基于
CNN
的神经机器翻译模型;步骤1‑3,训练和评估方法调用缺陷修复模型;步骤2,利用步骤1生成的缺陷修复模型,生成候选补丁并验证,所述步骤2包含以下步骤:步骤2‑1,预处理待修复程序的缺陷行代码和缺陷上下文;步骤2‑2,加载缺陷修复模型,生成候选补丁;步骤2‑3,验证候选补丁,若候选补丁有效,输出补丁,缺陷修复成功,若候选补丁无效,执行步骤3;步骤3,基于遗传算法生成候选补丁,所述步骤3包含以下步骤:步骤3‑1,用步骤2中的无效候选补丁替换待修复程序中的缺陷语句形成初始种群;步骤3‑2,计算种群中每个变体的适应度;步骤3‑3,若存在适应度为1的变体,则输出该变体对应的候选补丁,缺陷修复成功;否则,如果达...

【专利技术属性】
技术研发人员:杨秋辉宋青青董兰
申请(专利权)人:四川大学
类型:发明
国别省市:

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

1