Рубріки: Новини

Дослідники винайшли спосіб автоматичного перетворення коду C на безпечний Rust

Дмитро Сімагін

Дослідник Еймерік Фромгерц з компанії Inria та науковий співробітник Джонатан Проценко з Azure Research (Microsoft) винайшли спосіб автоматичного перетворення коду C на безпечний код Rust. Він полягає у створенні підмножини C під назвою Mini-C, яка уникає типових шаблонів C і таких функцій, як арифметика вказівників і неявна змінність. Саме через них код С не можна було перекласти на Rust з дотриманням усіх вимог до безпеки, пише The Register.

У статті під назвою «Compiling C to Safe Rust, Formalized» Фромгерц і Проценко пропонують альтернативу автоматичним схемам перетворення C-to-Rust, які створюють небезпечний Rust. 

«Замість того, щоб автоматично перекладати C у його повній загальності на небезпечну версію Rust і намагатися зробити отриманий код безпечнішим, ми націлюємося на дані, аплікативну підмножину C. Тому наш процес перекладу є напівактивним: користувачам, можливо, доведеться виконати мінімальні коригування вихідної програми на C, щоб відповідати підмножині підтримуваних мов. Але наш підхід автоматично створює справді безпечний код Rust», — пояснюють вчені.

Використання Mini-C за допомогою фреймворку компілятора KaRaMeL створює безпечний код Rust із застереженням, що після цього може знадобитися деякий рефакторинг.

Свій метод вчені перевірили на криптографічній бібліотеці HACL* (High-Assurance Crypto Library), яка складається з 80 000 рядків коду C, і на EverParse, перевіреній бібліотеці засобів форматування та серіалізації, яка складається з 1400 рядків C. В обох випадках код Rust продемонстрував такий самий профіль продуктивності, як і оригінальний код C, незважаючи на додавання Pointer metadata і перевірок меж виконання.

Останні статті

Anthropic додала агентні плагіни в інструмент автоматизації Cowork

Компанія Anthropic інтегрувала в Cowork агентні плагіни, які дозволяють налаштовувати модель Claude під конкретні корпоративні…

02.02.2026

Реліз генератора ігрових світів Project Genie від Google обвалив акції геймдев-компаній

Акції найбільших геймдев-компаній обвалились після того, як Google представила нову модель Genie 3 та генератор…

02.02.2026

«Я створив функцію за два тижні, на яку раніше треба було витратити рік»: розробники Bluesky стверджують, що з традиційним кодуванням «все скінчено»

Опитування професійних розробників соцмережі Bluesky виявило, що більшість з них вважають інструменти штучного інтелекту логічним…

02.02.2026

У Хмельницькому суд зобов’язав програміста задонатити 100 000 грн на підтримку ЗСУ

Хмельницький міськрайонний суд ухвалив рішення у справі провідного програміста ТОВ «Екзедепт», який намагався за допомогою…

02.02.2026

До роковин початку повномасштабного вторгнення The Page запускає спецпроєкт про стійкість бізнесу

Від початку повномасштабного вторгнення кожна історія про релокацію бізнесу – це історія про ризики перевезення…

02.02.2026

Використання штучного інтелекту знижує розуміння кодової бази та перешкоджає розвитку розробників — дослідження Anthropic

Застосування інструментів на базі штучного інтелекту підвищує продуктивність, але знижує розуміння кодової бази та перешкоджає…

30.01.2026