Canonical Funds AI Research for C-to-Rust Translation

On August 20, 2026, Canonical and the University of Bristol began funding a three-year PhD project to investigate translating C repositories with hundreds of thousands of lines into safe, behaviorally correct, maintainable Rust. Reporting by InfoWorld identifies Alex Wood as the PhD student, supervised by Professor Luc Moreau with Canonical engineering VP Jon Seager and Professor Peter Flach. The research will use AppArmor and snap-confine as production-oriented case studies.
Canonical and the University of Bristol are funding a three-year PhD project to investigate whether AI-assisted tooling can translate large, mature C codebases into safe, behaviorally correct, maintainable Rust. The project is due to run through the University of Bristol and, according to InfoWorld, is led by PhD student Alex Wood under Professor Luc Moreau, with Canonical VP of Engineering Jon Seager and Professor Peter Flach as co-supervisors.
The stated research target is not a simple code converter. Reporting by The Register and Linuxiac describes a platform intended to handle repositories containing hundreds of thousands of lines of C, first decomposing them into smaller units and then translating those units while retaining information about dependencies, types, and program behavior.
Beyond syntax-level conversion
Seager wrote that conventional source-to-source translators can process substantial volumes of code but often preserve C's structure 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, according to The Register and InfoWorld.
The project therefore proposes a hybrid, or neurosymbolic, workflow. Linuxiac reports that the approach combines language models with program analysis, testing, and formal methods. ItsFoss reports that language models trained on known C-to-Rust conversions would perform a translation stage only after a large repository has been partitioned into manageable pieces.
Validation is central to the proposed system. According to ItsFoss, translated code would be checked against the original behavior, and mismatches would enter a repair stage using symbolic program-repair techniques. This distinction matters because compiling successfully is not evidence that a replacement preserves edge cases, compatibility behavior, or security properties embedded in a mature systems codebase.
AppArmor and snap-confine as test cases
The project will use AppArmor and snap-confine as case studies, according to Linuxiac and ItsFoss. AppArmor is Ubuntu's mandatory access-control framework, while snap-confine supports sandboxing for Snap applications. Both are security-sensitive systems components already used in Ubuntu deployments.
Those targets create a demanding evaluation environment: a translated implementation would need more than Rust syntax and memory-safety checks. It would need to preserve access-control and confinement behavior while avoiding an excessive dependence on Rust's unsafe facilities. The sources do not report a commitment to deploy generated translations into Ubuntu.
For engineering teams, the research addresses a persistent migration constraint. Mature C projects frequently embody years of bug fixes, performance work, compatibility decisions, and operational knowledge, as Seager wrote in the post cited by InfoWorld. Full manual rewrites can be expensive and difficult to validate, while direct automated conversions commonly create code that remains hard to maintain.
Comparable modernization efforts often find that repository-scale context and behavioral validation are harder problems than generating a plausible function-level translation. The Bristol project is notable because it frames LLM output as one component in a broader analysis, verification, and repair pipeline rather than as a standalone rewriting mechanism. Its eventual results could provide useful evidence about where automated C-to-Rust migration is reliable, where human review remains necessary, and how much engineering effort the workflow actually removes.
Key Points
- 1Canonical and Bristol are funding a three-year evaluation of AI-assisted C-to-Rust translation at repository scale, not announcing a production rewrite.
- 2The proposed workflow combines LLM translation with decomposition, program analysis, behavioral validation, and symbolic repair because compilable Rust alone is insufficient.
- 3Security-sensitive AppArmor and snap-confine case studies could test whether comparable migration pipelines preserve behavior while reducing unsafe Rust usage.
Scoring Rationale
The project addresses a consequential technical problem for systems software teams: migrating large C estates without sacrificing behavioral correctness or maintainability. It is research funding rather than a released tool or demonstrated benchmark result, which limits immediate practitioner impact.
Sources
Public references used for this report.
Practice interview problems based on real data
1,625 SQL & Python problems across 15 industry datasets — the exact type of data you work with.
Try 250 free problems
