一句话:提出Grace方法,通过将LLM条件于相关历史编辑,显著提升代码编辑生成的准确率。
开发者常因修复bug或添加特性而编辑代码,但代码编辑的多样性及开发者意图的隐含性使预测编辑极具挑战。本文提出Grace(Generation conditioned on Associated Code Edits)方法,将预训练大语言模型(LLM)条件于相关的历史关联编辑,利用LLM的生成能力应对编辑多样性,并通过条件化捕捉隐含的开发者意图。作者分别在零样本和微调设置下评估codex和CodeT5,并在两个数据集上实验。结果表明,Grace显著提升LLM性能,相比当前最先进的符号和神经网络方法,在top-1建议中分别多生成29%和54%的正确编辑代码。
Developers spend a significant amount of time in editing code for a variety of reasons such as bug fixing or adding new features. Designing effective methods to predict code edits has been an active yet challenging area of research due to the diversity of code edits and the difficulty of capturing the developer intent. In this work, we address these challenges by endowing pre-trained large language models (LLMs) with the knowledge of relevant prior associated edits, which we call the Grace (Generation conditioned on Associated Code Edits) method. The generative capability of the LLMs helps address the diversity in code changes and conditioning code generation on prior edits helps capture the latent developer intent. We evaluate two well-known LLMs, codex and CodeT5, in zero-shot and fine-tuning settings respectively. In our experiments with two datasets, Grace boosts the performance of the LLMs significantly, enabling them to generate 29% and 54% more correctly edited code in top-1 suggestions relative to the current state-of-the-art symbolic and neural approaches, respectively.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{GuptaKBCGKRS023,
title = {Grace: Language Models Meet Code Edits},
author = {Priyanshu Gupta and Avishree Khare and Yasharth Bajpai and Saikat Chakraborty and Sumit Gulwani and Aditya Kanade and Arjun Radhakrishna and Gustavo Soares and Ashish Tiwari},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3616253}
}