Компания Canonical совместно с Бристольским университетом будет развивать новый проект, нацеленный на разработку инструментария для автоматической трансляции кода с языка Си на Rust.

Цель проекта — перевести большие репозитории с сотнями тысяч строк кода на безопасное и легко сопровождаемое представление на Rust.
Canonical будет поддерживать работу исследователей в течение трёх лет. Технологию опробуют для перевода на Rust пакетов AppArmor и snap‑confine.
Планируется задействовать гибридную модель, которая будет включать технологии на основе машинного обучения и классические методы анализа, тестирования и формальной верификации. В процессе крупные кодовые базы будут разделяться на отдельные фрагменты, транслируемые независимо без потери общего контекста, необходимого для учёта типов, зависимостей и поведения.
Инструменты будут обучать на коде существующих проектов, уже переведённых с Си на Rust, чтобы задействовать в результирующем коде корректные Rust‑абстракции вместо переписывания Си‑конструкций.
Одновременно исследователи выпустят инструментарий для проверки результирующего кода с использованием fuzzing‑тестирования и элементов формальной верификации, а также средств для отладки и анализа проблем.
Проект позиционируется как исследовательский и подразумевает разработку новых методов, обрабатывающих ситуации с неопределённым поведением в коде на Си, указателями и конкурирующими блокировками. Разработчики пояснили, что ручное переписывание с Си на Rust требует объёмной работы и приводит к потере накопленных исправлений и оптимизаций.
Ранее в Canonical опубликовали планы по развитию с внедрением множества функций искусственного интеллекта. Ожидается, что в течение следующего года в Ubuntu Linux появятся различные функции ИИ с упором на локальный вывод по умолчанию. Инженеры Canonical будут работать над интеграцией агентных рабочих процессов в Ubuntu для всех желающих. Изучаются области использования ИИ в Ubuntu как для настольных компьютеров, так и для серверов, например, для помощи в интерпретации системных журналов. Что касается запланированных функций, пока они всё ещё находятся в стадии разработки для создания контекстно‑ориентированной операционной системы.
Источник: habr.com