mlsanityData to 7 Oct 2026

On ML-Based Program Translation: Perils and Promises

arXiv 2302.10812 ↗First posted 21 Feb 2023cs.PL cs.AI cs.SEcited by 0

Not on the map. Why?

Abstract (arXiv)

With the advent of new and advanced programming languages, it becomes imperative to migrate legacy software to new programming languages. Unsupervised Machine Learning-based Program Translation could play an essential role in such migration, even without a sufficiently sizeable reliable corpus of parallel source code. However, these translators are far from perfect due to their statistical nature. This work investigates unsupervised program translators and where and why they fail. With in-depth error analysis of such failures, we have identified that the cases where such translators fail follow a few particular patterns. With this insight, we develop a rule-based program mutation engine, which pre-processes the input code if the input follows specific patterns and post-process the output if the output follows certain patterns. We show that our code processing tool, in conjunction with the program translator, can form a hybrid program translator and significantly improve the state-of-the-art. In the future, we envision an end-to-end program translation tool where programming domain knowledge can be embedded into an ML-based translation pipeline using pre- and post-processing steps.

Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 17 of its 36 references that are in the map. First posted on arXiv 21 Feb 2023.

Builds on

17 of 36 references.

References · 17

  1. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  2. 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
  3. 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
  4. 2021Unified Pre-training for Program Understanding and Generationcited by 361
  5. 2020Unsupervised Translation of Programming Languagescited by 262
  6. 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
  7. 2018Phrase-Based & Neural Unsupervised Machine Translationcited by 138
  8. 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
  9. 2018Tree-to-tree Neural Networks for Program Translationcited by 93
  10. 2021Break-It-Fix-It: Unsupervised Learning for Program Repaircited by 71
  11. 2022NatGen: Generative pre-training by "Naturalizing" source codecited by 53
  12. 2021Neural Program Repair with Execution-based Backpropagationcited by 50
5 more
  1. 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
  2. 2018CODIT: Code Editing with Tree-Based Neural Modelscited by 40
  3. 2022Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languagescited by 12
  4. 2020The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoringcited by 9
  5. 2021SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnosticscited by 8

Built on by

Not cited yet.