AVATAR: A Parallel Corpus for Java-Python Program Translation
This addresses the costly and time-consuming task of software migration for developers, but it is incremental as it builds on existing pre-trained models and focuses on a specific language pair.
The authors tackled the problem of automated program translation between Java and Python by creating AVATAR, a parallel corpus of 9,515 programming problems with solutions in both languages, and found that fine-tuned pre-trained language models generated code with poor functional accuracy.
Program translation refers to migrating source code from one programming language to another. It has tremendous practical value in software development, as porting software across languages is time-consuming and costly. Automating program translation is of paramount importance in software migration, and recently researchers explored unsupervised approaches due to the unavailability of parallel corpora. However, the availability of pre-trained language models for programming languages enables supervised fine-tuning with a small number of labeled examples. Therefore, we present AVATAR, a collection of 9,515 programming problems and their solutions written in two popular languages, Java and Python. AVATAR is collected from competitive programming sites, online platforms, and open-source repositories. Furthermore, AVATAR includes unit tests for 250 examples to facilitate functional correctness evaluation. We benchmark several pre-trained language models fine-tuned on AVATAR. Experiment results show that the models lack in generating functionally accurate code.