Multilingual Code Co-Evolution Using Large Language Models
Jiyang Zhang, Pengyu Nie, Junyi Jessy Li, Milos Gligoric

TL;DR
This paper introduces Codeditor, a large language model designed to translate code changes between programming languages, improving accuracy over existing methods and demonstrating the benefits of combining different model approaches.
Contribution
The paper presents the first LLM specifically trained for translating code changes across languages, modeling edits explicitly and outperforming prior state-of-the-art methods.
Findings
Codeditor significantly outperforms existing approaches on automatic metrics.
Combining Codeditor with generation-based models yields even better results.
The model effectively learns to correlate code changes across languages.
Abstract
Many software projects implement APIs and algorithms in multiple programming languages. Maintaining such projects is tiresome, as developers have to ensure that any change (e.g., a bug fix or a new feature) is being propagated, timely and without errors, to implementations in other programming languages. In the world of ever-changing software, using rule-based translation tools (i.e., transpilers) or machine learning models for translating code from one language to another provides limited value. Translating each time the entire codebase from one language to another is not the way developers work. In this paper, we target a novel task: translating code changes from one programming language to another using large language models (LLMs). We design and implement the first LLM, dubbed Codeditor, to tackle this task. Codeditor explicitly models code changes as edit sequences and learns 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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Software Reliability and Analysis Research
