基于大型语言模型重新审视整容手术假说
软件工程
2024-12-11 v2 机器学习
摘要
自动程序修复(APR)旨在为输入的错误程序自动生成补丁。传统APR工具通常通过使用模板、启发式方法和形式规范来专注于特定的错误类型和修复。然而,这些技术在能够处理的错误类型和补丁多样性方面存在局限。因此,研究人员设计了各种基于学习的APR工具,近期的工作侧重于直接使用大型语言模型(LLM)进行APR。虽然基于LLM的APR工具能够在许多修复数据集上达到SOTA性能,但用于直接修复的LLM并未完全感知项目特定信息,例如特定的变量或方法名。整容手术假说是APR领域的一个著名见解,指出修复错误所需的代码成分通常已经存在于同一项目中。传统APR工具通过设计手动或基于启发式的方法来利用此类现有代码成分,从而在很大程度上利用了整容手术假说。然而,随着近期APR研究开始侧重于基于LLM的方法,整容手术假说在很大程度上被忽视了。在本文中,我们提出以下问题:在LLM时代,整容手术假说有多大用处?有趣的是,基于LLM的APR提供了一个独特的机会,通过微调和提示来完全自动化整容手术假说。为此,我们提出了FitRepair,它将LLM的直接使用与两种领域特定微调策略和一种提示策略相结合,以实现更强大的APR。我们在被广泛研究的Defects4j 1.2和2.0数据集上的实验表明,FitRepair分别修复了89和44个错误(分别比性能最佳的基线大幅超出15和8个),展示了整容手术假说在LLM时代的广阔前景。
引用
@article{arxiv.2303.10494,
title = {Revisiting the Plastic Surgery Hypothesis via Large Language Models},
author = {Chunqiu Steven Xia and Yifeng Ding and Lingming Zhang},
journal= {arXiv preprint arXiv:2303.10494},
year = {2024}
}