Skip to main navigation Skip to search Skip to main content

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

Research output: Journal Publications and ReviewsRGC 21 - Publication in refereed journalpeer-review

Abstract

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 translated programs prompted by test case execution results. Extensive experiments are conducted on six settings of translation datasets between Python, Java, and C++. Three recent LLMs of diverse sizes, including GPT-3.5 and LLaMA-13B/7B, are tested with UniTrans, and all achieve substantial improvements in terms of computational accuracy and exact match accuracy among almost all translation settings, showing the universal effectiveness of UniTrans in practice. 
© 2024 Copyright held by the owner/author(s). Publication rights licensed to ACM.
Original languageEnglish
Article number71
JournalProceedings of the ACM on Software Engineering
Volume1
Issue numberFSE
Online published12 Jul 2024
DOIs
Publication statusPublished - Jul 2024
Event32nd ACM International Conference on the Foundations of Software Engineering (FSE 2024) - Porto de Galinhas, Brazil
Duration: 15 Jul 202419 Jul 2024
https://2024.esec-fse.org/

Bibliographical note

Research Unit(s) information for this publication is provided by the author(s) concerned.

Funding

This work was partially supported by National Key R&D Program under Grant No.2023YFB4503801, National Natural Science Foundation of China (Grant No. 62102233, 62302021, 62192731, 62192730, 62072007, 62192733, 61832009), Shandong Province Overseas Outstanding Youth Fund (Grant No. 2022HWYQ-043), Qilu Young Scholar Program of Shandong University, the General Research Fund (GRF) of the Research Grants Council of Hong Kong, the industry research funds of City University of Hong Kong (7005217,9220097,9220103,9229029,9229098,9678149), and the Key Program of Hubei under Grant JD2023008

Research Keywords

  • Automated Code Translation
  • Large Language Models
  • Transformer

RGC Funding Information

  • RGC-funded

Fingerprint

Dive into the research topics of 'Exploring and Unleashing the Power of Large Language Models in Automated Code Translation'. Together they form a unique fingerprint.

Cite this