Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Компания Canonical представила проект по разработке транслятора с Си на Rust

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2237
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

Компания Canonical представила проект по разработке транслятора с Си на Rust

Сообщение root:# »

Компания Canonical представила проект по разработке транслятора с Си на Rust
Компания Canonical анонсировала проект, развиваемый совместной с Бристольским университетом и нацеленный на разработку инструментария для автоматической трансляции кода с языка Си на Rust. Проект ориентирован на перевод больших репозиториев, содержащих сотни тысяч строк кода на Си, в безопасное (без unsafe-операций) и легко сопровождаемое представление на языке Rust. Canonical профинансирует работу исследователей над проектом в течение 3 лет. Развиваемая технология будет опробована для перевода на Rust пакетов AppArmor и snap-confine, чтобы проверить применимость метода к реальным системным компонентам. В инструментарии будет задействована гибридная модель, комбинирующая технологии на основе машинного обучения с классическими методами анализа, тестирования и формальной верификации. В процессе работы крупные кодовые базы будут разделяться на отдельные фрагменты, транслируемые независимо без потери общего контекста, необходимого для учёта типов, зависимостей и поведения. AI-инструментарий будет обучен на коде существующих проектов, уже переведённых с Си на Rust, для задействования в результирующем коде корректных Rust-абстракций вместо переписывания Си-конструкций на Rust. Помимо этого будет предоставлен инструментарий для проверки результирующего кода, использующий fuzzing-тестирование и элементы формальной верификации, а также средства для отладки и анализа проблем, выявленных в результате проверки. Проект позиционируется как исследовательский и подразумевает не просто создание связки "AI-компиляция-тестирование", а разработку новых методов, обрабатывающих ситуации с неопределенным поведением в коде на Си, указателями и конкурирующими блокировками. Создание нового проекта объясняется тем, что ручное переписывание с Си на Rust требует больших трудозатрат и приводит к потере накопленных исправлений и оптимизаций, традиционные трансляторы создают неидиоматичный и небезопасный Rust-код, а AI-модели плохо масштабируются на крупные репозитории и не гарантируют сохранение поведения программы.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66099