Автоматический перевод C в Rust: безопасность и точность

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

В отличие от существующих подходов, основанных на искусственном интеллекте и больших языковых моделях (LLM), предлагаемое решение гарантирует математическую корректность преобразования. Это является значительным прорывом, поскольку устраняет ограничения, связанные с проверкой точности переводов, выполняемых ИИ.

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

Последние тенденции подтверждают актуальность этой проблемы. В феврале 2024 года Белый дом США рекомендовал отказаться от использования языка C, а Агентство перспективных оборонных исследовательских проектов (DARPA) определило Rust как ключевую альтернативу для устранения проблем безопасности, связанных с C, инициировав проекты по автоматическому преобразованию кода.

Команда профессора Сукёна Рю из Школы вычислительной техники KAIST активно занималась вопросами безопасности языка C и важностью автоматического перевода задолго до того, как эти инициативы набрали обороты. Их последние разработки включают технологии преобразования мьютексов (для синхронизации программ), выходных параметров (для передачи результатов) и объединений (для хранения разнообразных данных), представленные на ведущих конференциях по разработке программного обеспечения, таких как ICSE, PLDI и ASE.

Доктор Джемин Хонг подчеркнул, что их технология основана на фундаментальных принципах теории языков программирования, что позволяет логически доказывать корректность преобразования. Это является ее основным преимуществом по сравнению с методами, полагающимися на LLM, которые не могут гарантировать такую же степень точности.

В дополнение к технологии перевода C в Rust, команда профессора Рю представит еще четыре работы на конференции ASE 2025. Эти исследования охватывают передовые области программной инженерии, включая верификацию программ для квантовых компьютеров, технологию WEST для автоматической проверки и тестирования WebAssembly-программ, а также методы упрощения сложного WebAssembly-кода для более быстрого обнаружения ошибок. Одна из этих работ, посвященная WEST, получила награду за выдающуюся статью.

Комментарии

Комментариев пока нет.