SEAIJul 10, 2024

Rectifier: Code Translation with Corrector via LLMs

arXiv:2407.07472v138 citationsh-index: 10
Originality Incremental advance
AI Analysis

This addresses software migration challenges for developers by providing a robust error-correction method, though it is incremental as it builds on existing LLM-based translation approaches.

The paper tackles the problem of errors in code translation using large language models by proposing Rectifier, a general corrector that repairs translation errors, and shows effective repair ability in experiments across C++, Java, and Python.

Software migration is garnering increasing attention with the evolution of software and society. Early studies mainly relied on handcrafted translation rules to translate between two languages, the translation process is error-prone and time-consuming. In recent years, researchers have begun to explore the use of pre-trained large language models (LLMs) in code translation. However, code translation is a complex task that LLMs would generate mistakes during code translation, they all produce certain types of errors when performing code translation tasks, which include (1) compilation error, (2) runtime error, (3) functional error, and (4) non-terminating execution. We found that the root causes of these errors are very similar (e.g. failure to import packages, errors in loop boundaries, operator errors, and more). In this paper, we propose a general corrector, namely Rectifier, which is a micro and universal model for repairing translation errors. It learns from errors generated by existing LLMs and can be widely applied to correct errors generated by any LLM. The experimental results on translation tasks between C++, Java, and Python show that our model has effective repair ability, and cross experiments also demonstrate the robustness of our method.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes