论文

基于 LLM 的程序修复中诊断记忆的变形测试方法

A Metamorphic Testing Approach to Diagnosing Memorization in LLM-Based Program Repair

模型评测评测方法与指标

摘要

基于 LLM 的自动程序修复 (APR) 技术在降低调试成本方面显示出了可喜的结果。然而,先前的结果可能会受到数据泄漏的影响:当评估基准与其预训练数据重叠时,大语言模型(LLM)可能会记住错误修复,从而导致性能估计夸大。在本文中,我们研究了是否可以通过将变形测试(MT)与负对数似然(NLL)相结合来更好地揭示数据泄漏,负对数似然(NLL)已在之前的工作中用作记忆的代理。我们通过对两个广泛使用的数据集 Defects4J 和 GitBug-Java 应用语义保留转换来构建变体基准。使用这些基准测试,我们评估了 7 个 LLM 在原始版本和转换版本上的修复成功率,并分析了性能下降与 NLL 之间的关系。我们的结果表明,所有经过评估的最先进的 LLM 在转换后的基准上都表现出补丁生成成功率大幅下降,范围从 GPT-4o 的 -4.1% 到 Llama-3.1 的 -15.98%。此外,我们发现这种退化与原始基准上的 NLL 密切相关,这表明模型在它们更有可能记住的实例上表现更好。这些发现表明,将 MT 与 NLL 相结合可以提供更强、更可靠的数据泄漏证据,而单独的变质测试可以帮助减轻其在基于 LLM 的 APR 评估中的影响。