ProIT: медіа для профі в IT
2 хв

DARPA перетворить код C і C++ на Rust за допомогою LLM

author avatar ProIT NEWS

Агентство передових оборонних дослідницьких проєктів США DARPA спиратиметься на нові можливості штучного інтелекту у новій програмі, щоб впоратися із дорогим і трудомістким переписування коду із C і C++ на Rust.

Як повідомляє DevOps.com, це вимога федеральних агентств: організації мають прийняти безпечні для пам’яті мови програмування.

Цього місяця DARPA оголосило про свою програму Translating All C to Rust (TRACTOR), яка використовуватиме великі мовні моделі (LLM) та інші методи машинного навчання для автоматизації більшості завдань, необхідних для переміщення застарілого за більш ніж два десятиліття коду до безпечнішої мови Rust.

Офіс Національного кібердиректора Білого дому (ONCD) і CISA протягом кількох місяців закликали розробників прийняти Rust або інші сучасні мови, такі як Python або C#, щоб краще захистити своє програмне забезпечення шляхом усунення цілого класу вразливостей безпеки пам’яті, які пояснюють найпоширеніші вразливості в таких мовах, як C і C++.

Ці недоліки можуть включати переповнення буфера, використання неініціованої пам’яті та використання після звільнення (коли програма продовжує використовувати місце пам’яті після того, як воно було звільнено).

Наприкінці минулого року директор CISA Джен Істерлі заявила, що майже дві третини всіх вразливостей програмного забезпечення є результатом відсутності кодування, безпечного для пам’яті.

Хоча у спільноті розробників програмного забезпечення існує консенсус щодо необхідності використання сучасних мов, безпечних для пам’яті, проблема полягає в тому, що C і C++ десятиліттями використовувалися в організаціях державного і приватного секторів, що ускладнює переміщення величезної кількості такого коду в Rust.

Мова C була створена у 1970-х роках і використовувалася для створення застосунків для всього — від смартфонів до космічних апаратів. Саме Міністерство оборони США, якому підпорядковується DARPA, має довгострокові системи, які непропорційно залежать від мов програмування, таких як C. Тож потрібен спосіб переписати застарілий код у масштабі, який відповідає масштабу проблеми.

За словами Дена Уоллака, керівника програми DARPA для TRACTOR, тут на допомогу приходить ШІ.

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

Мета TRACTOR — створити програму, яка створить таку ж якість і стиль, які розробив би досвідчений програміст Rust.

DARPA звертається до спільноти розробників програмного забезпечення: вона організує публічні конкурси, на яких тестуватимуться пропозиції на базі LLM.

За словами Уоллака, пропозиції, ймовірно, включатимуть нові комбінації аналізу програмного забезпечення.

Програма розпочнеться 26 серпня із Дня пропозицій, який зацікавлені інженери ПЗ можуть відвідати особисто чи віртуально. Учасникам необхідно зареєструватися до 19 серпня. Подробиці та реєстраційну інформацію можна знайти на сайті SAM.Gov.

Раніше ProIT повідомляв, що Rust набирає обертів у рейтингу популярності мов програмування.

Читайте також на нашому сайті: ШІ-генератор мови від Microsoft VALL-E 2 занадто реалістичний і створює забагато ризиків, кажуть дослідники.

Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!

Приєднатися до company logo
Продовжуючи, ти погоджуєшся з умовами Публічної оферти та Політикою конфіденційності.