К содержанию
Выпуск №73 · 20 августа 2026 / Новости

Canonical оценит автоматический перевод C-кода на Rust на примере AppArmor и snap-confine

Как сообщает The New Stack, Canonical финансирует команду Бристольского университета, которая изучает автоматический перевод унаследованного C-кода на безопасный и поддерживаемый Rust без изменения поведения программ.

Редакция 20 августа 2026 г., 04:08 MSK

В Telegram

Как сообщает The New Stack, Canonical финансирует команду Бристольского университета, которая изучает автоматический перевод унаследованного C-кода на безопасный и поддерживаемый Rust без изменения поведения программ. Для испытаний выбрали AppArmor и snap-confine. Оба проекта выполняют критически важные для безопасности задачи, но Canonical пока не готова переписывать их на Rust. Сначала компания хочет понять, какие доказательства убедят сопровождающих код специалистов в надежности автоматического перевода.

Система будет генерировать Rust-код с помощью языковых моделей, а затем сравнивать его с исходной реализацией. Исследователи планируют объединить фаззинг и формальный анализ программ, чтобы выявлять расхождения, незаметные для обычных тестов. Если обнаружится несовпадение, система должна применить символическое исправление, диагностировать конкретный сбой и внести правки в код.

Еще одна задача состоит в том, чтобы ограничить использование unsafe. Такие блоки упрощают перенос сложных конструкций C, но могут сохранить риски для безопасности памяти. Команде также предстоит проверить, работает ли этот подход на уровне целых репозиториев с сотнями тысяч строк C-кода. Кроме того, исследователи выяснят, сохраняется ли поведение исходной реализации, даже если полученный Rust-код успешно компилируется.

Ключевые факты

  • Canonical финансирует исследовательскую команду Бристольского университета.

  • Для сравнения реализаций исследователи планируют совместить фаззинг с формальным анализом программ.

  • При обнаружении расхождения система должна диагностировать сбой и исправлять код с помощью символического исправления.

  • Подход намерены проверить на репозиториях с сотнями тысяч строк C-кода.

Вопросы и ответы

Как будут проверять, что перевод не изменил поведение программы?

Сгенерированный языковой моделью Rust-код сравнят с C-реализацией, совместив фаззинг с формальным анализом. При расхождении система должна диагностировать конкретный сбой и исправить код с помощью символического исправления.

Какой критерий определит, можно ли доверять такому переносу?

Исследователи должны подтвердить сохранение поведения исходной реализации, а не только успешную компиляцию Rust-кода. Отдельно они проверят, удается ли ограничить блоки unsafe, которые могут сохранить риски безопасности памяти из C.

На какой масштаб рассчитан эксперимент?

Подход намерены проверить на целых репозиториях с сотнями тысяч строк C-кода, а не только на отдельных функциях или небольших модулях.

Контекст по теме

Как процитировать

«Canonical оценит автоматический перевод C-кода на Rust на примере AppArmor и snap-confine». hegai.media, 20 августа 2026 г.. https://hegai.media/novosti/canonical-otsenit-avtomaticheskiy-perevod-c-koda-na-rust-na-primere-ap--db7830e8-429b-40ca-8cb6-ed244ec5343d

так материал выглядит в мессенджере