介绍
(1) 发表:Arxiv 6.12
(2) 挑战
主要探讨了基于 LLM 的 APR 的两个主要类别:代理和程序。尽管这两个范式都表现出希望,但它们依然表现出两个重要的局限性:
- 忽视历史修复经验:现有方法都忽略了从同一存储库中先前解决的问题中积累的宝贵历史经验,而实际上,软件项目在其演变过程中经常显示出重复的错误模式
- 静态提示会导致动态适应性有限:现有方法依赖于手动制作的静态提示来指导错误定位和补丁生成等任务,这些通用提示无法解决实际软件项目之间的实质性差异
① 代理方法:将 LLM 视为能够通过与工具进行交互,修改代码和运行测试来计划和执行操作以解决错误的自主代理
② 程序方法:遵循预定义和静态管道,其中 LLM 顺序执行了使用固定的提示和操作序列而无需自主决策
(3) 贡献:
受人类认知的双重记忆系统(情景记忆和语义记忆协同工作以支持人类的推理和决策)的启发,我们提出了 ExpeRepair,这是一种基于 LLM 的新型 Agent 框架,它通过双通道知识积累不断从历史修复经验中学习
方法

(1) 流程
- 初始化阶段:应用一组种子问题,LLM Agents 使用 ReAct 算法迭代的将各自的任务处理 次。随后为每个 Agent 提取特定问题的演示和见解并
ExpeRepair:基于LLM的程序修复新框架

最低0.47元/天 解锁文章
7369

被折叠的 条评论
为什么被折叠?



