Fully automated C-to-safe-Rust transpilation

Develop fully automated techniques for transpiling C programs into Rust’s safe subset, producing memory-safe and idiomatic Rust code without manual intervention.

Background

The paper introduces CRUST-Bench, a benchmark designed to evaluate systems that transpile C repositories into safe, idiomatic Rust that compiles and passes provided test cases. Translating C to Rust involves not only functional equivalence but also adherence to Rust’s strict ownership, borrowing, and type system to ensure memory safety.

Despite recent advances in LLMs and agentic systems, the authors find that current approaches achieve relatively low success rates on CRUST-Bench, highlighting the difficulty of repository-scale, interface-constrained, safe Rust generation. This motivates the explicit recognition that fully automated C-to-safe-Rust transpilation remains unresolved.

References

Despite rapid progress in LLMs for code generation, fully automated C-to-safe-Rust transpilation remains an open challenge.

CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation  (2504.15254 - Khatry et al., 21 Apr 2025) in Abstract

For C, it is also unknown how long arrays are - this information has to be passed around separately (and there is no distinction between a list and a point to a regular variable).

Static analysis-guided agentic AI translation enables Rust as a full stack bioinformatics language  (2608.13029 - Henriksson, 13 Aug 2026) in Supplemental Material, “Guide to AI-mediated translation of code to Rust,” section “Translating and cleaning C (not C++) code”