This work explores the use of self-generated natural language explanations as an intermediate step for code-to-code translation with language models. Across three types of explanations and 19 programming languages constructed from the MultiPL-E dataset, we find the explanations to be particularly effective in the zero-shot case, improving performance by 12% on average. Improvements with natural language explanations are particularly pronounced on difficult programs. We release our dataset, code, and canonical solutions in all 19 languages.
@article{arxiv.2311.07070,
title = {Explain-then-Translate: An Analysis on Improving Program Translation with Self-generated Explanations},
author = {Zilu Tang and Mayank Agarwal and Alex Shypula and Bailin Wang and Derry Wijaya and Jie Chen and Yoon Kim},
journal= {arXiv preprint arXiv:2311.07070},
year = {2023}
}
Comments
9 pages, 4 figures, 5 tables, 48 pages total. To be published in EMNLP Findings 2023