Canonical soutient un nouveau projet de recherche de trois ans visant à rendre possible la traduction automatique de grands codes C matures vers Rust sûr. Cette initiative est une collaboration entre Canonical et l'Université de Bristol au Royaume-Uni, avec un travail prévu pour commencer plus tard en 2026.
L'objectif principal du projet est de développer une plateforme complète capable de traduire de grands référentiels de code, souvent contenant des centaines de milliers de lignes de C, en Rust sûr, fiable et maintenable. Le défi réside dans la vaste quantité de logiciels C hérités toujours utilisés ; réécrire manuellement un tel code est coûteux et risqué, compte tenu des années de correctifs et d'optimisations accumulés.
Les traducteurs actuels de source à source ne résolvent le problème que partiellement. Bien qu'ils puissent gérer de grands volumes de code, ils reproduisent souvent trop fidèlement les structures de C, ce qui donne du Rust qui dépend toujours des fonctionnalités non sécurisées. Les LLM, quant à eux, excellent dans la génération de Rust idiomatique pour de petits extraits de code, mais peinent avec le contexte plus large de référentiels entiers.
Pour surmonter ces obstacles, le projet utilisera une approche hybride, ou « neuro-symbolique », combinant l'apprentissage automatique avec l'analyse de programme traditionnelle, les tests et les méthodes formelles. Canonical prévoit d'utiliser AppArmor et snap-confine comme études de cas du monde réel. Cette initiative s'aligne également sur l'adoption plus large de Rust au sein d'Ubuntu par Canonical, comme on peut le voir dans des projets tels que uutils coreutils et sudo-rs.
Entités clés : Entreprises : Canonical, Université de Bristol | Emplacements : Royaume-Uni
Source: Hacker News · Résumé par HeadlinesBriefing