🤖 AI Summary
Existing C-to-Rust translation approaches—including LLM-based methods—rely heavily on complex static program analysis, limiting scalability to large-scale code (>500 lines).
Method: We propose the first end-to-end translation framework based on generative-discriminative agent adversarial collaboration, eliminating the need for static analysis. It integrates LLM-driven iterative translation, test-feedback loops, and adversarial optimization.
Contribution/Results: Our framework robustly handles real-world C code averaging 485 lines. Evaluated on 63 authentic command-line utilities, it achieves a mean test pass rate exceeding 90%, outperforming baseline methods by +18.9% in correctness. To our knowledge, this is the first approach to enable reliable, scalable, and fully automated memory-safe migration at this scale.
📝 Abstract
Translating C to memory-safe languages, like Rust, prevents critical memory safety vulnerabilities that are prevalent in legacy C software. Existing approaches for C to safe Rust translation, including LLM-assisted ones, do not generalize on larger (> 500 LoC) C codebases because they depend on complex program analyses that frequently break. In this work, we present ACToR (Adversarial C To Rust translator), a simple LLM agent-based approach. Inspired by GANs, ACToR pits a generator agent against a discriminator agent, which collaborate to iteratively generate a Rust translation. On each iteration, the translator agent synthesizes and refines a Rust translation to pass an existing suite of tests, and then the discriminator agent finds new failing tests. We demonstrate that ACToR translates all of the 63 real-world command line utilities considered in our benchmarks, which have an average size of 485 lines of code, and it achieves over 90% test pass rate with zero human intervention. To our knowledge, it is the first such system that reliably translates C programs of this scale. Furthermore, ACToR improves translation correctness by up to 18.9% compared to baseline, non-adversarial approaches.