Search papers, labs, and topics across Lattice.
AdaTrans is a novel framework designed to automate the transformation of C code to Rust by addressing the challenges posed by Rust's strict ownership and borrowing semantics. It employs a Strategy-Driven Retrieval-Augmented Generation (RAG) mechanism to effectively map compiler errors to targeted repairs and utilizes an Error-Stratified Transformation Strategy (ESTS) that adapts based on the type of errors encountered. The framework demonstrates a mean compilation pass rate of 95.51% and a mean solve rate of 81.09% on a dataset of 104 algorithmic problems, significantly outperforming existing tools while ensuring a low unsafe file rate of 1.19%.
AdaTrans achieves a remarkable 95.51% compilation pass rate, showcasing a new standard in automated code transformation from C to Rust.
The automated transformation of C code to Rust is challenging due to Rust's strict ownership and borrowing semantics. While Large Language Models (LLMs) show promise, they often produce code that violates these rules or relies on unsafe constructs. We propose AdaTrans, a framework that addresses these issues through three core mechanisms: a Strategy-Driven Retrieval-Augmented Generation (RAG) mechanism to map compiler errors to specific repairs, an Error-Stratified Transformation Strategy (ESTS) that adapts its behavior based on error types, and a multi-stage validation pipeline to ensure both compilability and functional equivalence. Evaluating on a dataset of 104 algorithmic problems, AdaTrans achieves a mean compilation pass rate of 95.51% and a mean solve rate of 81.09%, significantly outperforming existing tools while maintaining an unsafe file rate of only 1.19%.