Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages

Wasi Uddin Ahmad, Saikat Chakraborty, Baishakhi Ray, Kai-Wei Chang


Abstract
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.
Anthology ID:
2023.eacl-main.112
Volume:
Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics
Month:
May
Year:
2023
Address:
Dubrovnik, Croatia
Editors:
Andreas Vlachos, Isabelle Augenstein
Venue:
EACL
SIG:
Publisher:
Association for Computational Linguistics
Note:
Pages:
1528–1542
Language:
URL:
https://aclanthology.org/2023.eacl-main.112
DOI:
10.18653/v1/2023.eacl-main.112
Bibkey:
Cite (ACL):
Wasi Uddin Ahmad, Saikat Chakraborty, Baishakhi Ray, and Kai-Wei Chang. 2023. Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics, pages 1528–1542, Dubrovnik, Croatia. Association for Computational Linguistics.
Cite (Informal):
Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages (Ahmad et al., EACL 2023)
Copy Citation:
PDF:
https://aclanthology.org/2023.eacl-main.112.pdf
Video:
 https://aclanthology.org/2023.eacl-main.112.mp4