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
Paz 14, 2022

Intel planuje zwolnić tysiące pracowników

Już w tym miesiącu tysiące ludzi w całej firmie mogą zostać bez pracy. Bloomberg podaje, że zwolnienie uderzy szczególnie mocno w działy sprzedaży i marketingu, a to około 20% pracowników. Jeszcze w lipcu firma liczyła 113,700 pracowników.
0
Kwi 21, 2023

iOS 17 ewentualnie umożliwi instalowanie aplikacji z zewnętrznych źródeł

Od momentu, gdy pierwszy iPhone trafił do sprzedaży firma Apple sprzeciwiała się instalowaniu aplikacji z zewnętrznych źródeł, ale to może wkrótce zmienić się. Jak informuje Mark Gurman, znany analityk Apple, w iOS 17 ma pojawić się taka opcja.
0
Kwi 8, 2025

Google uruchamia grę z Pokémonami w wyszukiwarce mobilnej

Google i The Pokémon Company przygotowali ukrytą mini-grę, która pozwala użytkownikom złapać wszystkie 151 oryginalnych Pokémonów z regionu Kanto – bezpośrednio z poziomu wyszukiwarki Google na Androidzie i iOS. Nowość jest dostępna wyłącznie w aplikacji mobilnej i nie działa na wersji desktopowej.
0

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies