Android

Deler av Android blir nå skrevet i Rust

Det er likevel uaktuelt å erstatte all C/C++-koden med Rust-kode.

Google er i ferd med å ta i bruk programmeringsspråket Rust i de nedre nivåene av operativsystemet Android.
Google er i ferd med å ta i bruk programmeringsspråket Rust i de nedre nivåene av operativsystemet Android. Illustrasjon: Colourbox
Harald BrombachHarald Brombach– Journalist
8. apr. 2021 - 15:15

Programmeringsspråket Rust skiller seg ut ved at det både skal egne seg for lavnivåprogrammering i operativsystemer og tar vare på minnesikkerheten, i tillegg til at det har andre egenskaper som bidrar til mer korrekt kode.

Dette gjør at språket stadig oftere trekkes fram som alternativ til C/C++, ikke minst i programvare hvor minnesårbarheter kan utnyttes til å gjøre stor skade. Digi.no har tidligere skrevet om flere programvareprosjekter som har tatt i bruk, eller vurderer å ta i bruk Rust i forbindelse med enkelte komponenter:

Rust i Android

Nå viser det seg at også Google har fått øyene opp for Rust. I et lengre blogginnlegg, som blant annet forteller at de fleste av de alvorlige sårbarhetene som oppdages i Android, er knyttet til minnesikkerhet, opplyses det at det allerede i 18 måneder har blitt jobbet med å legge til Rust-støtte i Android Open Source Project. 

Denne støtten er tatt i bruk i noen få prosjekter som vil bli navngitt i månedene som kommer, og da trolig under utviklerkonferansen Google I/O, som arrangeres virtuelt i andre halvdel av mai. 

Det opplyses at det vil ta flere år å utvide dette til større deler av operativsystemet, blant annet fordi verktøy, testinfrastruktur og mye annet må oppdateres.

Jo høyere nivå en komponent i Android-operativsystemet er på, desto større er mulighetene for å bruke språk som Java, hvor systemet tar seg minnestyringen. Illustrasjon:  Google
Jo høyere nivå en komponent i Android-operativsystemet er på, desto større er mulighetene for å bruke språk som Java, hvor systemet tar seg minnestyringen. Illustrasjon:  Google

Skal ikke erstatte gammel C/C++-kode

I blogginnlegget drøftes det også hvor det er fornuftig å bruke Rust. Det konkluderes raskt med at det ikke lar seg gjennomføre å skrive om millioner av kodelinjer fra C/C++ til Rust. Samtidig vises det til en analyse som viser at de aller fleste minnesikkerhetsrelaterte feilene oppdages i ny eller nylig modifisert kode. I mer enn 50 prosent av tilfellene er feilene blitt funnet i kode hvor endringene har blitt gjort for mindre enn et år siden. 

Dermed vil det være mest aktuelt for Android-prosjektet å bruke Rust i forbindelse med utvikling av ny lavnivåfunksjonalitet i operativsystemet. 

På de høyere nivåene i Android benyttes allerede Java eller Kotlin, som ikke har de samme, potensielle minnesikkerhetsproblemene som C og C++.

Googles utviklere har forelsket seg i programmeringsspråket Kotlin, som visstnok er i ferd med å danke ut Java hos IT-kjempen.
Les også:

Har kastet Java på båten: Nå bruker Google Kotlin i alle apper

Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.
Se flere jobber
Tre jobbtilbud 10 måneder før masteravslutning!
Les mer
Tre jobbtilbud 10 måneder før masteravslutning!
Få annonsen din her og nå frem til de beste kandidatene
Lag en bedriftsprofil
En tjeneste fra