CODIT: Code Editing with Tree-Based Neural Models
Saikat Chakraborty, Yangruibo Ding, Miltiadis Allamanis, Baishakhi Ray

TL;DR
This paper introduces CODIT, a tree-based neural model that learns code change patterns from real-world data to automate code editing and bug fixing, outperforming traditional methods.
Contribution
The paper presents a novel tree-based neural machine translation model tailored for source code, effectively learning and suggesting code changes from large-scale real-world data.
Findings
CODIT successfully learned from over 24,000 real-world code changes.
It can suggest patches and fix bugs, fixing 25 out of 80 bugs in Defects4J.
The model outperforms existing approaches in code change prediction.
Abstract
The way developers edit day-to-day code tends to be repetitive, often using existing code elements. Many researchers have tried to automate repetitive code changes by learning from specific change templates which are applied to limited scope. The advancement of deep neural networks and the availability of vast open-source evolutionary data opens up the possibility of automatically learning those templates from the wild. However, deep neural network based modeling for code changes and code in general introduces some specific problems that needs specific attention from research community. For instance, compared to natural language, source code vocabulary can be significantly larger. Further, good changes in code do not break its syntactic structure. Thus, deploying state-of-the-art neural network models without adapting the methods to the source code domain yields sub-optimal results. To…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
