TechNews.bg
НовиниСофтуерТоп новини

Облекчение за програмистите: Canonical финансира AI преводач от C към Rust

Проект на Университета в Бристол ще автоматизира прехвърлянето на големи масиви стар C код към по-сигурния Rust

(илюстрация: TechNews.bg / AI)

Canonical, компанията зад Ubuntu Linux, ще финансира създаването на автоматичен преводач на програми, написани на C, към Rust. Проектът се разработва от Университета в Бристол и цели да улесни прехвърлянето на големи масиви от стар код към по-съвременния език.

Според съобщение на уебсайта на Canonical, финансирането ще продължи през следващите три години. Не е уточнено нито какъв е размерът на инвестицията, нито дали разработката ще бъде завършена в този срок.

Засега проектът е представен като изследователски. Целта е да се автоматизира процес, който обикновено изисква значителен ръчен труд. При пренаписването на C код разработчиците рискуват да загубят и натрупани през годините корекции и оптимизации.

От C към Rust

Езикът за програмиране C е създаден през 1972 г. и вече повече от пет десетилетия е в основата на голяма част от съвременния софтуер. Код на C се използва в Windows и macOS, както и в ядрото на Linux.

Един от основните недостатъци на C е ръчното управление на паметта. Разработчикът трябва сам да заделя и освобождава памет, например чрез функциите malloc и free. Грешките при този процес могат да доведат до изтичане на памет и уязвимости.

Rust е създаден през 2006 г. и е проектиран с акцент върху безопасността на паметта. Именно това е една от причините този език все по-често да се използва при разработване на системен софтуер.

В Linux екосистемата спорът между привържениците на C и Rust продължава от години. Поддръжката на Rust в ядрото на Linux дълго време беше експериментална, но в края на 2025 г. се превърна в основна характеристика.

Microsoft също работи по прехвърляне на част от своя софтуер към Rust. В началото на 2024 г. компанията започна работа по пренаписване на ключов сървърен компонент, използван от Microsoft 365.

Машинно обучение ще помага при превода

Проектът на Университета в Бристол ще комбинира класически методи за анализ, проверка и верификация на кода с алгоритми за машинно обучение.

За обучението на AI моделите ще бъдат използвани съществуващи хранилища, в които C код вече е прехвърлен към Rust с традиционни методи.

Системата ще разделя големите кодови бази на отделни фрагменти и ще ги превежда поотделно. Разработчиците възнамеряват да запазят контекста на програмата, както и зависимостите и информацията за типовете.

Към преводача ще бъде разработен и инструмент за проверка на получения Rust код. Той ще използва fuzzing тестове, комбинирани с елементи на формална верификация.

Целта е автоматизацията да ускори прехвърлянето на големи хранилища от C към Rust, без това да означава просто механичен превод на един програмен език към друг.

още от категорията

Linux изпреварва Windows 11 в тестове за производителност

TechNews.bg

Linux троянец атакува разработчици и се крие на ниво ядро

TechNews.bg

Linux се учи от Windows: няма да работи на компютри с остарели процесори

TechNews.bg

„Vibe coding“ е забавен и лесен, но има една съществена уловка

TechNews.bg

Windows се справя по-бързо от Linux с изкуствения интелект

TechNews.bg

Изкуствен интелект откри уязвимост в Linux с 15-годишна давност

TechNews.bg

Коментари