Canonical is co-funding a three-year PhD project to find out whether large language models can translate big C codebases into safe Rust. Jon Seager, Canonical’s vice president of engineering, announced the investment on the Ubuntu Discourse forum, and The Register covered the details.
The research will take place in the University of Bristol’s Programming Languages Research Group and is co-sponsored by UK Research and Innovation, the public research funding body. Seager will oversee it with Bristol’s Professor Meng Wang and Dr. Cristina David.
Decompose, Then Translate
The project will investigate whether an LLM can take programs “comprising hundreds of thousands of lines of C,” split them into smaller components and then rewrite those components in “safe, behaviourally correct and maintainable Rust.” It names two test cases, snap-confine and the AppArmor security module, both important to Ubuntu.
Seager argued that existing tools fall short. “Traditional source-to-source translators can process substantial amounts of code, but often preserve the structure of the C too literally. The result may compile as Rust, but still rely heavily on unsafe operations, retain awkward C idioms and require significant manual work before it resembles code a Rust maintainer would choose to own,” he wrote.
His post also acknowledges that mature codebases encode years of fixes for real-world edge cases that were never documented outside the code. A machine translation could preserve some of that behavior, while a clean human rewrite might miss it.
Building on Ubuntu’s Rust Push
Canonical has already brought Rust into Ubuntu under Seager. Ubuntu 25.10 adopted sudo-rs and the uutils coreutils, though both were human-written reimplementations rather than translations of the original C. The Register was openly skeptical that LLM translation will work at this scale, suggesting the hard part will be decomposing a large codebase rather than translating individual pieces, but welcomed a research project designed to produce evidence either way.
For developers maintaining legacy C, the question matters. Rewriting security-critical code by hand is slow and risky, and if automated translation can produce idiomatic, verifiable Rust, it would offer a practical route to memory safety for code that nobody has the budget to rewrite.


WebProNews is an iEntry Publication