Google schrijft nieuwe low-level Android code voortaan in Rust

android error

Vorige maand zagen we de eerste stappen richting de adoptie van de Rust programmeertaal in de Linux kernel. Nu laat ook Google weten dat zijn Android Open Source Project de taal gaat ondersteunen voor low-level OS-onderdelen. 

In het verleden gebruikte Google vooral C of C++. Geen van beide zijn echter memory-managed talen. Dat maakt Android kwetsbaar voor geheugenlekken en bufferoverloop. 

Dat is waar Rust interessant wordt. In tegenstelling tot C en C++ biedt Rust wel geheugenbescherming. De taal gebruikt een combinatie van compile-time checks en runtime checks om te zorgen dat toegang tot het geheugen wel echt mogelijk is. 

De geheugenbescherming van Rust is dus beter dan die van C en C++. De prestaties zijn vergelijkbaar. Volgens Google zijn fouten in geheugenbeveiliging een van de grootste bijdragers aan stabiliteitsproblemen. Ze vertegenwoordigen zo’n 70% van de ernstige kwetsbaarheden binnen Android. 

Alleen nieuwe code wordt in Rust geschreven

Google schrijft nieuwe low-level Android code voortaan in Rust, maar aan de oude code zal weinig veranderen. Het is volgens het bedrijf onhaalbaar om de miljoenen regels aan bestaande code in C en C++ te herschrijven naar Rust. Daarbij heeft het volgens Google ook weinig zin om oude Androidcode te herschrijven, omdat daar inmiddels zo goed als alle bugs wel uit gehaald zijn. 

Leeftijd van geheugenfouten in Android
Bron: Google

De Android broncode is een opensourceproject met miljarden gebruikers. Daarom kijken veel mensen mee. Op basis daarvan stelt Google dat de meeste geheugenfouten plaatsvinden in nieuwe en recentelijk gewijzigde code. Ongeveer de helft van de fouten is minder dan een jaar oud. Daarom gaat Google Rust enkel gebruiken voor nieuwe onderdelen. Het aantal nieuwe geheugenfouten wordt zo beperkt. 

Adoptie van Rust wordt meerjarenplan

Google kondigt zijn adoptie van Rust aan via een uitgebreide blogpost. In het artikel laat Google weten al 18 maanden bezig te zijn met het toevoegen van Rust ondersteuning in het Android Open Source Project. De komende maanden gaan de eerste projecten op basis van Rust van start. Het opschalen naar gebruik van Rust in een groter deel van het OS gaat waarschijnlijk nog jaren duren.

nieuwsbrief

Abonneer je gratis op ITdaily !

  • This field is for validation purposes and should be left unchanged.