# His2Trans: A Knowledge-Guided Agentic Framework for Project-Level C-to-Rust Migration

arXiv: https://arxiv.org/abs/2603.02617 · HTML: https://mlsanity.com/paper/2603.02617/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Placed in Software engineering coding agents, one of 16 directions in LLM agents and tool use.
- Builds on 19 of its 41 references that are in the map.
- First posted on arXiv 3 Mar 2026.

## Placed in

- LLM agents and tool use / [Software engineering coding agents](https://mlsanity.com/agents/software-engineering-coding-agents/)

## Builds on (most cited first, 19 of 19)

- [Large Language Models for Software Engineering: A Systematic Literature Review](https://mlsanity.com/paper/2308.10620/) (2023)
- [Exploring and Unleashing the Power of Large Language Models in Automated Code Translation](https://mlsanity.com/paper/2404.14646/) (2024)
- [Towards Translating Real-World Code with LLMs: A Study of Translating to Rust](https://mlsanity.com/paper/2405.11514/) (2024)
- [jina-reranker-v3: Last but Not Late Interaction for Listwise Document Reranking](https://mlsanity.com/paper/2509.25085/) (2025)
- [VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners](https://mlsanity.com/paper/2404.18852/) (2024)
- [EvoC2Rust: A Skeleton-guided Framework for Project-Level C-to-Rust Translation](https://mlsanity.com/paper/2508.04295/) (2025)
- [C2SaferRust: Transforming C Projects into Safer Rust with NeuroSymbolic Techniques](https://mlsanity.com/paper/2501.14257/) (2025)
- [Ownership guided C to Rust translation](https://mlsanity.com/paper/2303.10515/) (2023)
- [RustMap: Towards Project-Scale C-to-Rust Migration via Program Analysis and LLM](https://mlsanity.com/paper/2503.17741/) (2025)
- [SACTOR: LLM-Driven Correct and Idiomatic C to Rust Translation with Static Analysis and FFI-Based Verification](https://mlsanity.com/paper/2503.12511/) (2025)
- [To Tag, or Not to Tag: Translating C's Unions to Rust's Tagged Unions](https://mlsanity.com/paper/2408.11418/) (2024)
- [SafeTrans: LLM-assisted Transpilation from C to Rust](https://mlsanity.com/paper/2505.10708/) (2025)
- [Integrating Rules and Semantics for LLM-Based C-to-Rust Translation](https://mlsanity.com/paper/2508.06926/) (2025)
- [Translating Large-Scale C Repositories to Idiomatic Rust](https://mlsanity.com/paper/2511.20617/) (2025)
- [SmartC2Rust: Iterative, Feedback-Driven C-to-Rust Translation via Large Language Models for Safety and Equivalence](https://mlsanity.com/paper/2409.10506/) (2024)
- [Forcrat: Automatic I/O API Translation from C to Rust via Origin and Capability Analysis](https://mlsanity.com/paper/2506.01427/) (2025)
- [LLMigrate: Transforming "Lazy" Large Language Models into Efficient Source Code Migrators](https://mlsanity.com/paper/2503.23791/) (2025)
- [Search-Based Multi-Trajectory Refinement for Safe C-to-Rust Translation with Large Language Models](https://mlsanity.com/paper/2505.15858/) (2025)
- [Adversarial Agent Collaboration for Correctness Improvements of C to Safe Rust Translation](https://mlsanity.com/paper/2510.03879/) (2025)

## Built on by (most cited first, 1 of 1)

- [Documentation-Guided Agentic Codebase Migration from C to Rust](https://mlsanity.com/paper/2605.14634/) (2026)

## Abstract (arXiv)

C remains a major implementation language for operating systems, embedded platforms, and infrastructure software, but manual memory management continues to create security and maintenance costs. Rust is a practical migration target because it retains low-level control while enforcing stronger memory-safety checks. At project scale, especially under gradual C/Rust coexistence, migration is not a sequence of syntax-preserving function rewrites. A translator must preserve project interfaces, observable behavior, system interaction protocols, and low-level interoperability boundaries while staying consistent with migration choices already made in the codebase. We introduce His2Trans, a knowledge-guided agentic framework for project-level C-to-Rust migration. His2Trans reuses interface-level and fragment-level knowledge mined from historical C/Rust migrations to guide new translations toward Rust interfaces, wrapper choices, and local idioms already accepted in the evolving project. It then refines the assembled crate with project-level agentic feedback. On ten OpenHarmony modules, His2Trans reaches a 100.00% incremental compilation pass rate, a 94.92% Test Pass Rate, and a 16.35% Unsafe Ratio. On eight open-source C projects, it reaches 100.00% for both incremental compilation and Test Pass Rate, reducing Unsafe Ratio from 42.88% under C2Rust to 8.59%. These results support knowledge-guided migration and project-level agentic refinement as practical mechanisms for preserving observable behavior while reducing the unsafe burden of rule-based transpilation.
