-
公开(公告)号:CN116755753A
公开(公告)日:2023-09-15
申请号:CN202310724901.4
申请日:2023-06-19
Applicant: 哈尔滨工业大学
Abstract: 本发明涉及一种基于代码语言模型的程序缺陷自动修复方法,包括如下步骤:步骤一、利用开源程序项目源代码语料库,构建代码语言模型;步骤二、利用程序缺陷代码样本和正确代码样本,构建缺陷‑修复代码数据集;步骤三、构建基于缺陷修复难度判别策略的缺陷‑修复代码样本分类器,对数据集样本进行评估并划分缺陷修复难度等级。本发明基于课程学习机制的微调训练框架对数据集进行缺陷修复难度划分,使用处理后的数据集对代码语言模型进行多轮迭代微调训练,能够有效提升模型生成补丁的质量,提高程序缺陷修复成功率。
-
公开(公告)号:CN116719554A
公开(公告)日:2023-09-08
申请号:CN202310724902.9
申请日:2023-06-19
Applicant: 哈尔滨工业大学
Abstract: 本发明涉及一种基于样本数据增广训练的软件故障修复方法,包括如下步骤:步骤一、构建原始故障修复代码数据训练集和验证集;步骤二、建立基于源码重构机制的故障修复代码样本数据增广模块;步骤三、通过故障修复代码样本数据增广模块,生成具有语义一致性的多形式增广故障修复代码样本。本发明能够通过已有故障修复代码样本,基于源码重构机制自动生成增广故障修复代码样本,无需人为手动额外收集,实现了故障修复代码数据集的自动扩充,节省了收集数据集的时间,提高了数据集构建效率。
-
公开(公告)号:CN119127154A
公开(公告)日:2024-12-13
申请号:CN202411123801.7
申请日:2024-08-16
Applicant: 哈尔滨工业大学
Abstract: 本发明涉及一种基于检索增强的程序缺陷自动修复方法,包括以下步骤:步骤S1、收集修复模板,构建修复模板数据库;步骤S2、从修复模板数据库中检索匹配的修复模板;步骤S3、计算上下文代码行与错误代码行的词法相似度和语义相似度;步骤S4、基于互相关排名融合策略,生成代码行的综合相似度排名列表;步骤S5、基于综合相似度排名列表,从相似代码行中提取候选标识符;步骤S6、构建基于上下文增强的修复提示;并将修复提示输入到语言模型中生成候选补丁;步骤S7、候选补丁验证。本发明通过创新性地结合历史修复模板检索和本地相关代码检索,利用多维度相似度分析和静态分析技术,生成上下文增强的修复提示,并通过自动化验证机制确保补丁的有效性。
-
-