Canonical поддерживает новый трехлетний исследовательский проект, направленный на то, чтобы сделать практической автоматическую переводку больших, зрелых кодовых баз C в безопасный Rust. Инициатива является сотрудничеством между Canonical и Университетом Бристоля в Великобритании, и ожидается, что работа начнётся позже в 2026 году.
Основная цель проекта — разработать полноценную платформу, способную переводить большие репозитории кода, часто содержащие сотни тысяч строк C, на безопасный, надёжный и поддерживаемый Rust. Вызов заключается в огромном количестве устаревшего программного обеспечения C, всё ещё используемого; ручная переписывание такого кода затратно и опасно, учитывая многолетние накопленные исправления и оптимизации.
Существующие трансляторы исходного кода решают проблему лишь частично. Хотя они могут обрабатывать большие объёмы кода, часто они слишком близко копируют структуры C, что приводит к Rust, который всё ещё зависит от небезопасных функций. LLM, с другой стороны, отлично справляются с генерацией идиоматичного Rust для небольших фрагментов кода, но испытывают трудности с более широким контекстом целых репозиториев.
Чтобы преодолеть эти препятствия, проект будет использовать гибридный, или «неурросимвический», подход, объединяющий машинное обучение с традиционным анализом программ, тестированием и формальными методами. Canonical планирует использовать AppArmor и snap-confine в качестве примеров из реального мира. Инициатива также согласуется с более широким признанием Rust внутри Ubuntu в Canonical, как видно на примерах проектов, таких как uutils coreutils и sudo-rs.
Ключевые сущности: Компании: Canonical, Университет Бристоля | Местоположения: Великобритания
Источник: Hacker News · Сводку подготовил HeadlinesBriefing