摘要
本发明涉及一种基于数据流驱动的自动程序修复方法,该方法以错误文件和方法签名为输入,通过缺陷定位工具或者集成开发环境中的报错信息。接着把错误信息以及原始的缺陷代码交给大语言模型,从中提取出与缺陷相关的元素列表,随后构建缺陷上下文,使用搜索工具去检索关键元素定义以及依赖关系,整合控制流和错误模式信息,然后把检索到的信息、原始缺陷代码以及潜在的缺陷类型整合成为提示词,交给大语言模型生成候选补丁。之后对候选补丁展开验证,如果未通过验证,就将验证时的报错信息与候选补丁相结合进行迭代优化,一直到成功通过所有测试验证或者达到最大迭代次数为止。该方法借助数据流分析来强化上下文语义,提升修复的准确性和效率。