Canonical backs project to auto-translate large C codebases into safe Rust
Canonical Backs New Project to Translate Large C Codebases into Safe Rust

Canonical is partnering with the University of Bristol on a three-year research project to build a platform that automatically translates large C codebases into safe, idiomatic Rust. The hybrid 'neurosymbolic' approach combines machine learning with program analysis and formal methods. AppArmor and snap-confine will serve as real-world case studies, but Canonical says they are not being rewritten in Rust now.
Current source-to-source translators only address part of the problem.
- kayo_20211030
I have no particular religious preference for a language. One uses what one feels is appropriate.
But, let's say this effort is a complete success. What's next?
Can all the maintainers of the c codebase move over to maintaining (forward) the Rust codebase. Surely there'll be some friction, and losses to friction.
What about deployments, monitoring, support and trouble-shooting? Are the teams that perform those functions now capable of performing those functions in the future? It seems to me that the here-to-there for functional, evolving and reliable systems in the real world has been elided and become simply "a player to be named later".
- childintime
The Darpa Tractor project looks to achieve the same:
https://news.ycombinator.com/item?id=41110269
Just a few weeks back it was judged as unlikely to succeed. Now Canonical want to get in.
- qew16t
Great stuff. Instead of asking and funding the C developers of the respective projects for a port, they go for license washing and stealing.
- djoldman
Not the same as:
https://github.com/uutils/coreutils
Although I could see them benefitting.
- dgan
can it be done? C codebase are obviously missing the lifetime information, type-generic arguments are just void*, in/out arguments aren't explicit... or at least, the information is scattered across the codebase, and might be inconsistent. a "safe rust" might not be even possible