论文
通过自我增强在 APR 中利用 ChatGPT 的普遍性:一项实证研究
Towards the Generalizability of Leveraging ChatGPT in APR via Self-enhancing: An Empirical Study
摘要
自动程序修复 (APR) 越来越依赖大型语言模型 (LLM)。 ChatGPT 增强的 APR 使用自我校正和自主代理等技术来改进修复,而无需修改模型参数。尽管这些方法在 Defects4J 和 SWE-bench 上报告了强劲的结果,但跨基准增强增益的稳定性仍有待探索。我们根据三个具有代表性的长期基准评估了三种 ChatGPT 增强的 APR 方法。使用 GPT-3.5-Turbo,SRepair 在 HumanEval-Java 上比在 Defects4J 上实现了更大的绝对增益,而没有外部信息的 SRepair 和 FixAgent 在 BugsInPy 上产生了负增益。使用 GPT-5.4-mini,评估方法在 Defects4J 上获得的绝对收益比在 HumanEval-Java 上获得的绝对收益更大,而在 BugsInPy 上的收益为非负但有限。我们通过代码转换和特定于基准的微调来调查与基准相关的因素。代码转换减少了 Defects4J 的增强收益,而特定于基准的微调则增加了 BugsInPy 的收益。与 BugsInPy 上评估的 ChatGPT 增强 APR 方法相比,直接向 GPT-3.5-Turbo 提供错误消息并触发测试可以产生更正确的修复。这些发现强调需要使用多个指标来评估跨基准和模型的通用性,并表明当增益有限时,直接提供特定于修复的外部信息可能比增强方法更有效。