Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages
Not on the map. Why?
Abstract (arXiv)
Back-translation is widely known for its effectiveness in neural machine translation when there is little to no parallel data. In this approach, a source-to-target model is coupled with a target-to-source model trained in parallel. The target-to-source model generates noisy sources, while the source-to-target model is trained to reconstruct the targets and vice versa. Recent developments of multilingual pre-trained sequence-to-sequence models for programming languages have been very effective for a broad spectrum of downstream software engineering tasks. Hence, training them to build programming language translation systems via back-translation is compelling. However, these models cannot be further trained via back-translation since they learn to output sequences in the same language as the inputs during pre-training. As an alternative, we propose performing back-translation via code summarization and generation. In code summarization, a model learns to generate natural language (NL) summaries given code snippets. In code generation, the model learns to do the opposite. Therefore, target-to-source generation in back-translation can be viewed as a target-to-NL-to-source generation. We show that our proposed approach performs competitively with state-of-the-art methods. We have made the code publicly available.
Key facts. Cited by 12 papers in the map (data through 13 Oct 2026). Builds on 35 of its 55 references that are in the map. First posted on arXiv 23 May 2022.
Builds on
35 of 55 references.
References · 35
- 2017Attention Is All You Needcited by 60,106
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,304
- 2014Adam: A Method for Stochastic Optimizationcited by 37,093
- 2021Evaluating Large Language Models Trained on Codecited by 8,205
- 2014Neural Machine Translation by Jointly Learning to Align and Translatecited by 4,539
- 2019fairseq: A Fast, Extensible Toolkit for Sequence Modelingcited by 1,487
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,304
- 2019Cross-lingual Language Model Pretrainingcited by 1,089
- 2017CyCADA: Cycle-Consistent Adversarial Domain Adaptationcited by 1,079
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 905
- 2015Improving Neural Machine Translation Models with Monolingual Datacited by 784
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 743
23 more
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 651
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 609
- 2020CodeBLEU: a Method for Automatic Evaluation of Code Synthesiscited by 475
- 2018Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyondcited by 434
- 2021Unified Pre-training for Program Understanding and Generationcited by 366
- 2017Unsupervised Machine Translation Using Monolingual Corpora Onlycited by 272
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2017Style Transfer from Non-Parallel Text by Cross-Alignmentcited by 247
- 2019SPoC: Search-based Pseudocode to Codecited by 176
- 2015On Using Monolingual Corpora in Neural Machine Translationcited by 149
- 2017Unsupervised Neural Machine Translationcited by 148
- 2021Retrieval Augmented Code Generation and Summarizationcited by 148
- 2016Dual Learning for Machine Translationcited by 146
- 2018Phrase-Based & Neural Unsupervised Machine Translationcited by 138
- 2018Improving Automatic Source Code Summarization via Deep Reinforcement Learningcited by 100
- 2018Tree-to-tree Neural Networks for Program Translationcited by 93
- 2018Unsupervised Text Style Transfer using Language Models as Discriminatorscited by 70
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2021AVATAR: A Parallel Corpus for Java-Python Program Translationcited by 59
- 2018Unsupervised Statistical Machine Translationcited by 51
- 2019Recommendations for Datasets for Source Code Summarizationcited by 46
- 2018Style Transfer as Unsupervised Machine Translationcited by 19
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
Built on by
Citing papers per year: 2023: 4; 2024: 3; 2025: 4; 2026: 1.
12 papers.
- 2025OpenCodeInstruct: A Large-scale Instruction Tuning Dataset for Code LLMscited by 58
- 2024CodeJudge-Eval: Can Large Language Models be Good Judges in Code Understanding?cited by 29
- 2023GrACE: Generation using Associated Code Editscited by 16
- 2023Data Augmentation for Code Translation with Comparable Corpora and Multiple Referencescited by 9
- 2023Exploring Data Augmentation for Code Generation Taskscited by 7
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignmentcited by 7
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translationcited by 3
- 2025CodeBC: A More Secure Large Language Model for Smart Contract Code Generation in Blockchaincited by 2
- 2023On ML-Based Program Translation: Perils and Promisescited by 0
- 2025UCoder: Unsupervised Code Generation by Internal Probing of Large Language Modelscited by 0
- 2026Revisiting the Role of Natural Language Code Comments in Code Translationcited by 0
- 2026Revisiting the Role of Natural Language Code Comments in Code Translation23 Jan 2026
- 2025UCoder: Unsupervised Code Generation by Internal Probing of Large Language Models19 Dec 2025
- 2025CodeBC: A More Secure Large Language Model for Smart Contract Code Generation in Blockchain28 Apr 2025
- 2025OpenCodeInstruct: A Large-scale Instruction Tuning Dataset for Code LLMs5 Apr 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024CodeJudge-Eval: Can Large Language Models be Good Judges in Code Understanding?20 Aug 2024
- 2024Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation15 Jan 2024
- 2023Data Augmentation for Code Translation with Comparable Corpora and Multiple References1 Nov 2023
- 2023GrACE: Generation using Associated Code Edits23 May 2023
- 2023On ML-Based Program Translation: Perils and Promises21 Feb 2023
- 2023Exploring Data Augmentation for Code Generation Tasks5 Feb 2023