-
公开(公告)号:CN114546828A
公开(公告)日:2022-05-27
申请号:CN202210049022.1
申请日:2022-01-17
Applicant: 扬州大学
IPC: G06F11/36 , G06F8/65 , G06F40/211 , G06F40/289 , G06F40/30 , G06N3/04 , G06N3/08
Abstract: 本发明公开了一种基于预训练模型的方法级程序修复系统及修复方法,包括构建训练数据集;对预训练模型GraphCodeBert进行训练得到训练好的GraphCodeBert模型;对基于Sequence‑to‑Sequence架构的翻译模型进行训练得到训练好的翻译模型;将新的存在缺陷的程序进行处理并输入至训练好的翻译模型中,输出通过测试用例的候选补丁序列,并将输出的候选补丁序列作为正确补丁。本发明使用了预训练模型GraphCodeBert,可以挖掘源代码中缺陷语句及其上下文之间的语法、语义和结构信息,能够更好地学习缺陷的特征,从而提高代码补丁的质量。