20 юли, 2024

През последните няколко години Google насърчава разработчиците да пишат приложения за Android на Kotlin. Основната OS все още използва C и C++, но ето, че днес компанията обяви Android Open Source Project поддръжка на Rust.

Инвестираме много усилия и ресурси в откриването, поправянето и смекчаването на този клас бъгове и усилията са ефективни за предотвратяването на голям брой грешки да влязат в Android версиите. И въпреки тези усилия, грешките в безопасността на паметта продължават да допринасят най-вече за проблемите със стабилността и постоянно представляват около 70% от уязвимостите с висока степен на сигурност за Android,” казват от Google.

Компанията вярва, че програмни езици, които са memory-safe като Rust, са “най-рентабилни за предотвратяване на грешки в паметта” на буутлоудъра, бързото стартиране, ядрото и други части на OS. За разлика от C и C++, при които разработчиците управляват memory lifetime-а, Rust „осигурява гаранции за безопасност, като използва compile-time проверки, за да наложи object lifetime/ownership и проверки по времето на изпълнение, за да гарантира, че достъпът до паметта е валиден.“ Google работи по добавянето на тази поддръжка към AOSP през последните 18 месеца.

Ефективността е еквивалентна на съществуващите езици, като същевременно увеличава ефективността на текущия сендбокс и намалява общата нужда от него. Това дава възможност за „нови функции, които са едновременно по-безопасни и по-леки като ресурси“. Други подобрения включват data concurrency, по-изразителна type система и по-безопасна работа с цели числа.

Що се отнася до съществуващия код, Google се фокусира повече върху новата разработка на Rust, вместо да пренаписва зрелия код. Това се случва, тъй като повечето „грешки в паметта се появяват в нов или наскоро модифициран код, като около 50% от тях са при код, който е под една година“.

Повече по темата може да прочетете в официалния блог.

Тагове: , , , , , , , , , , , , , , , , , ,
Author