HeadlinesBriefing HeadlinesBriefing.com

Проект перевода C в Rust от Canonical

Hacker News •
×

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