Canonical chce automatycznie tłumaczyć kod z C na Rust. Projekt ma pomóc modernizować Ubuntu

Canonical chce automatycznie tłumaczyć kod z C na Rust. Projekt ma pomóc modernizować Ubuntu

Canonical finansuje trzyletni projekt badawczy, którego celem jest stworzenie narzędzi do automatycznej migracji dużych baz kodu z języka C do Rust. Badania będą prowadzone we współpracy z University of Bristol.

Firma chce sprawdzić, czy możliwe jest automatyczne tłumaczenie nawet repozytoriów zawierających setki tysięcy linii kodu przy zachowaniu zgodności zachowania programu i ograniczeniu ręcznej pracy deweloperów.

Problem jest istotny m.in. ze względu na ogromną ilość dojrzałego kodu napisanego w C. Canonical zwraca uwagę, że jego ręczne przepisywanie jest kosztowne i ryzykowne: istniejące projekty zawierają lata poprawek, optymalizacji i decyzji związanych z kompatybilnością.

Rust ma przy tym jedną kluczową przewagę w przypadku oprogramowania systemowego — pozwala wyeliminować wiele klas błędów związanych z bezpieczeństwem pamięci.

Projekt nie sprowadza się jednak do prostego konwertera składni. Badacze chcą rozwiązać m.in. problem dzielenia dużych repozytoriów bez utraty kontekstu, obsługi wskaźników, współbieżności i interfejsów systemowych oraz sprawdzania, czy program w Rust zachowuje się tak samo jak oryginalny kod C.

Badania poprowadzi grupa Programming Languages z University of Bristol. Nad projektem będzie pracował doktorant Alex Wood, którego doświadczenie obejmuje m.in. kompilatory, Rust, bezpieczeństwo niskopoziomowe i protokoły kryptograficzne.

Canonical zaznacza, że najbardziej ambitnym rezultatem byłby system potrafiący tłumaczyć znaczną część dużych repozytoriów C na Rust przy niewielkiej ingerencji człowieka. Firma nie deklaruje jednak, że taki poziom automatyzacji na pewno uda się osiągnąć — projekt ma właśnie zbadać granice tej technologii.

To kolejny element szerszej strategii Canonical związanej z Rustem. Firma deklaruje, że stopniowo zastępuje legacy code napisany w C rozwiązaniami w Rust, szczególnie w komponentach systemowych, gdzie bezpieczeństwo pamięci ma duże znaczenie.

Źródło: Canonical / Ubuntu — Investing in automated C to Rust translation

Avatar
Mar 4, 2025

Super Mario Bros. jako nowy benchmark dla AI – które modele radzą sobie najlepiej?

Wydawało się, że Pokémon jest trudnym testem dla AI, ale badacze twierdzą, że Super Mario Bros. stanowi jeszcze większe wyzwanie. Hao AI Lab, jednostka badawcza Uniwersytetu Kalifornijskiego w San Diego, przeprowadziła eksperyment, w którym różne modele AI próbowały pokonać kultową grę Nintendo z 1985 roku.
0
Sep 29

EA sprzedane za 55 mld dolarów w największym wykupie lewarowanym w historii

Electronic Arts Inc. zgodziło się na sprzedaż konsorcjum prywatnych inwestorów za około 55 mld dolarów, co czyni tę transakcję największym wykupem lewarowanym w historii
0
May 29, 2025

Microsoft zwolnił programistę za pomocą algorytmu — po 25 latach pracy, dokładnie w dniu jego urodzin

Na Reddicie niedawno pojawił się wpis dotyczący kolejnej fali zwolnień w Microsoft. Opublikowała go kobieta, która opowiedziała historię swojego męża — programisty, pracującego w firmie przez ponad ćwierć wieku.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies