论文

LLM 引导的自动化程序修复群体的语义演化

Semantic Evolution over Populations for LLM-Guided Automated Program Repair

摘要

大语言模型 (LLM) 最近显示出自动程序修复 (APR) 的强大潜力,特别是通过生成和改进候选补丁的迭代细化。然而,最先进的基于 LLM 的迭代细化 APR 方法无法完全解决挑战,包括维持修复假设之间有用的多样性、识别语义相关的修复族、组成互补的部分修复、利用结构化故障信息以及逃避结构上有缺陷的搜索区域。在本文中,我们提出了一种用于 APR 迭代细化的基于群体的语义进化框架,称为 EvolRepair,它将基于 LLM 的 APR 制定为语义进化算法。 EvolRepair 重新制定了 APR 的经典遗传算法的搜索范式,但将其基于语法的运算符替换为由 LLM 和结构化执行反馈提供支持的语义感知组件。候选修复被组织成行为一致的组,使算法能够保持多样性,对修复家族进行推理,并通过重新组合整个群体的互补修复见解来合成更强大的候选。通过利用结构化故障模式来指导搜索方向,EvolRepair 既可以完善有前景的修复策略,也可以在必要时转向替代抽象。我们的实验表明,与现有基于 LLM 的 APR 方法相比,EvolRepair 显着提高了修复效率。