Robust Learning of Diverse Code Edits
Tushar Aggarwal, Swayam Singh, Abhijeet Awasthi, Aditya Kanade, Nagarajan Natarajan
TL;DR
This work tackles the limited code-editing capabilities of current language models by combining a diverse synthetic data pipeline with a robust fine-tuning method. It introduces SeleKT, a selective knowledge transfer algorithm that performs dense gradient updates followed by a sparse projection under the $L_0$ constraint to minimize catastrophic forgetting while improving code-editing performance. The authors construct NextCoder models derived from QwenCoder-2.5 and DeepSeekCoder, demonstrating strong code-editing results across five benchmarks, often outperforming larger models and maintaining general abilities like code generation and problem solving. Open-source release of the models, synthetic data, and implementation facilitates broader adoption and future advancement in robust code-editing AI systems.
Abstract
Software engineering activities frequently involve edits to existing code. However, contemporary code language models (LMs) lack the ability to handle diverse types of code-edit requirements. In this work, we attempt to overcome this shortcoming through (1) a novel synthetic data generation pipeline and (2) a robust model adaptation algorithm. Starting with seed code examples and diverse editing criteria, our pipeline generates high-quality samples comprising original and modified code, along with natural language instructions in different styles and verbosity. Today's code LMs come bundled with strong abilities, such as code generation and instruction following, which should not be lost due to fine-tuning. To ensure this, we propose a novel adaptation algorithm, SeleKT, that (a) leverages a dense gradient-based step to identify the weights that are most important for code editing, and (b) does a sparse projection onto the base model to avoid overfitting. Using our approach, we obtain a new series of models NextCoder (adapted from QwenCoder-2.5) that achieves strong results on five code-editing benchmarks, outperforming comparable size models and even several larger ones. We show the generality of our approach on two model families (DeepSeekCoder and QwenCoder), compare against other fine-tuning approaches, and demonstrate robustness by showing retention of code generation and general problem-solving abilities post adaptation. We opensource the models, synthetic dataset, and implementation at https://aka.ms/nextcoder.
