Using Document Similarity Methods to create Parallel Datasets for Code Translation
Not on the map. Why?
Abstract (arXiv)
Translating source code from one programming language to another is a critical, time-consuming task in modernizing legacy applications and codebases. Recent work in this space has drawn inspiration from the software naturalness hypothesis by applying natural language processing techniques towards automating the code translation task. However, due to the paucity of parallel data in this domain, supervised techniques have only been applied to a limited set of popular programming languages. To bypass this limitation, unsupervised neural machine translation techniques have been proposed to learn code translation using only monolingual corpora. In this work, we propose to use document similarity methods to create noisy parallel datasets of code, thus enabling supervised techniques to be applied for automated code translation without having to rely on the availability or expensive curation of parallel code datasets. We explore the noise tolerance of models trained on such automatically-created datasets and show that these models perform comparably to models trained on ground truth for reasonable levels of noise. Finally, we exhibit the practical utility of the proposed method by creating parallel datasets for languages beyond the ones explored in prior work, thus expanding the set of programming languages for automated code translation.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). Builds on 21 of its 56 references that are in the map. First posted on arXiv 11 Oct 2021.
Builds on
21 of 56 references.
References · 21
- 2017Attention Is All You Needcited by 60,361
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,399
- 2020Language Models are Few-Shot Learnerscited by 32,419
- 2021Evaluating Large Language Models Trained on Codecited by 8,320
- 2019BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehensioncited by 5,893
- 2021Program Synthesis with Large Language Modelscited by 3,637
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,310
- 2021Measuring Coding Challenge Competence With APPScited by 902
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 654
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 609
- 2020CodeBLEU: a Method for Automatic Evaluation of Code Synthesiscited by 479
- 2021Unified Pre-training for Program Understanding and Generationcited by 366
9 more
- 2020Unsupervised Translation of Programming Languagescited by 263
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 221
- 2018Tree-to-tree Neural Networks for Program Translationcited by 93
- 2018Margin-based Parallel Corpus Mining with Multilingual Sentence Embeddingscited by 83
- 2018On the Impact of Various Types of Noise on Neural Machine Translationcited by 76
- 2021AVATAR: A Parallel Corpus for Java-Python Program Translationcited by 59
- 2021Perfection Not Required? Human-AI Partnerships in Code Translationcited by 42
- 2020When Does Unsupervised Machine Translation Work?cited by 38
- 2020When and Why is Unsupervised Neural Machine Translation Useless?cited by 34
Built on by
Citing papers per year: 2023: 1.
1 paper.