Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #3658 > unrolled thread

Paper: Large Language Model-Powered Agent for C to Rust Code Translation

Started byJohn R Levine <johnl@taugh.com>
First post2025-05-23 13:12 -0400
Last post2025-05-23 13:12 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.compilers


Contents

  Paper: Large Language Model-Powered Agent for C to Rust Code Translation John R Levine <johnl@taugh.com> - 2025-05-23 13:12 -0400

#3658 — Paper: Large Language Model-Powered Agent for C to Rust Code Translation

FromJohn R Levine <johnl@taugh.com>
Date2025-05-23 13:12 -0400
SubjectPaper: Large Language Model-Powered Agent for C to Rust Code Translation
Message-ID<25-05-015@comp.compilers>
Another paper claims their LLM with feedback works pretty well.

Abstract

The C programming language has been foundational in building system-level
software. However, its manual memory management model frequently leads to
memory safety issues. In response, a modern system programming language,
Rust, has emerged as a memory-safe alternative. Moreover, automating the
C-to-Rust translation empowered by the rapid advancements of the
generative capabilities of LLMs is gaining growing interest for large
volumes of legacy C code. Despite some success, existing LLM-based
approaches have constrained the role of LLMs to static prompt-response
behavior and have not explored their agentic problem-solving capability.
Applying the LLM agentic capability for the C-to-Rust translation
introduces distinct challenges, as this task differs from the traditional
LLM agent applications, such as math or commonsense QA domains. First, the
scarcity of parallel C-to-Rust datasets hinders the retrieval of suitable
code translation exemplars for in-context learning. Second, unlike math or
commonsense QA, the intermediate steps required for C-to-Rust are not
well-defined. Third, it remains unclear how to organize and cascade these
intermediate steps to construct a correct translation trajectory. To
address these challenges in the C-to-Rust translation, we propose a novel
intermediate step, the Virtual Fuzzing-based equivalence Test (VFT), and
an agentic planning framework, the LLM-powered Agent for C-to-Rust code
translation (LAC2R). The VFT guides LLMs to identify input arguments that
induce divergent behaviors between an original C function and its Rust
counterpart and to generate informative diagnoses to refine the unsafe
Rust code. LAC2R uses the MCTS to systematically organize the LLM-induced
intermediate steps for correct translation. We experimentally demonstrated
that LAC2R effectively conducts C-to-Rust translation on large-scale,
real-world benchmarks.

https://arxiv.org/abs/2505.15858

Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly

[toc] | [standalone]


Back to top | Article view | comp.compilers


csiph-web