Preprint

Exploring and Unleashing the Power of Large Language Models in Automated Code Translation.

Zhen Yang, Fang Liu, Zhongxing Yu, Jacky W. Keung, Jia Li, Shuo Liu, Yifan Hong, Xiaoxue Ma, Zhi Jin, Ge Li

Abstract

Exploring and Unleashing the Power of Large Language Models in Automated Code Translation ZHEN YANG, Shandong University, China FANG LIU∗ , Beihang University, China ZHONGXING YU∗ , Shandong University, China JACKY WAI KEUNG, City University of Hong Kong, China JIA LI♂, Peking University, China SHUO LIU, YIFAN HONG, and XIAOXUE MA, City University of Hong Kong, China ZHI JIN and GE LI, Peking University, China Code translation tools, namely transpilers, are developed for automatic source-to-source translation. Latest learning-based transpilers have shown impressive enhancement against rule-based counterparts in both translation accuracy and readability, owing to their task-specific pre-training on extensive monolingual corpora. Nevertheless, their current performance still remains unsatisfactory for practical deployment, and the associated training resources are also prohibitively expensive. Large Language Models (LLMs), pre-trained on huge amounts of human-written code/text, have shown remarkable performance in many code intelligence tasks due to their powerful generality, even without task-specific re-training/fine-tuning. Thus, LLMs can potentially circumvent the above limitations, but they have not been exhaustively explored yet. This paper investigates diverse LLMs and learning-based transpilers for automated code translation tasks, finding that: although certain LLMs have outperformed current transpilers, they still have some accuracy issues, where most of the failures are induced by a lack of comprehension of source programs (38.51%), missing clear instructions on I/O types in translation (14.94%), and ignoring discrepancies between source and target programs (41.38%). Enlightened by the above findings, we further propose UniTrans, a Unified code Translation framework, applicable to various LLMs, for unleashing their power in this field. Specifically, UniTrans first crafts a series of test cases for target programs with the assistance of source programs. Next, it harnesses the above auto-generated test cases to augment the code translation and then evaluate their correctness via execution. Afterward, UniTrans further (iteratively) repairs incorrectly tran

Keywords