Search papers, labs, and topics across Lattice.
This paper introduces DECODE, a dataset comprising 53.6K real-world in-IDE code edits made by over 1,000 developers on AI-generated code in Python, TypeScript, and JavaScript. The analysis reveals that the majority of edits occur shortly after accepting AI completions, with 31% of edits resulting in the removal of the AI-generated code. Furthermore, fine-tuning on DECODE significantly enhances the code edit prediction capabilities of open-source 3B models, outperforming state-of-the-art LLMs in this task.
Most developers edit AI-generated code within 15 minutes, often discarding the original completions entirely, highlighting a critical gap in LLM training data.
Imperfections in AI-generated code require that software developers modify the generated code manually, or by re-prompting an AI programming assistant. Manual code edits provide more realistic and granular information on editing behavior than Git commits, which only contain final successful code snippets. Yet, due to a lack of high-quality, realistic code editing data, LLMs are mostly trained on publicly available Git data (e.g., commits). To address this gap, we introduce DECODE (Developer Edits of Code Dataset), a dataset of 53.6K real-world in-IDE code edits of AI-generated code in Python, TypeScript, and JavaScript, sourced from 1K+ developers. First, we demonstrate the utility of DECODE for data analysis, obtaining insights on when, why, and how AI-generated code is edited. We find that most edits occur within the first 15 minutes after accepting an AI completion, resulting in the removal of AI completions in 31% of edit trajectories. Second, we use DECODE to benchmark the ability of LLMs to predict code edits. We find that finetuning on DECODE enables open-source 3B models to perform code edit prediction tasks significantly better than frontier LLMs. We then discuss implications of this work, emphasizing the necessity of developer-centric machine learning approaches for future AI programming assistants.