Google verwacht dat het voor zijn code op termijn steeds meer gebruik gaat maken van 'memory safe' programmeertalen als Rust. In veelgebruikte -en inmiddels decennia oude- talen als C en C++ zijn bugs veroorzaakt door fouten in het geheugenbeheer aan de orde van de dag. Deze talen zijn echter zo alomtegenwoordig, dat het verstandiger is om geleidelijk aan over te stappen en tegelijkertijd de grootste risico's in de bestaande talen af te vangen.
Dat schrijft Google in een recent verschenen rapport. Fouten die te wijten zijn aan incorrect geheugenbeheer laten programma's nogal eens crashen en maken digitale infrastructuur gevoelig voor cyber-incidenten, trapt Google in het rapport een open deur in. Dergelijke bugs zouden bijvoorbeeld voor 70 procent van alle kwetsbaarheden in Microsoft-producten zorgen.
Secure-by-Design benadering
Google ziet daarom toekomst in een zogeheten Secure-by-Design-benadering. Hierbij voorkomt het ontwerp van de code zelf al zoveel mogelijk vermijdbare fouten. Zo zou de verantwoordelijkheid voor zaken als geheugentoewijzing in veel mindere mate op het bordje van de programmeur moeten liggen.
Het gebruikt hiervoor de 'safe coding' benadering waarbij alle risicovolle constructen (als in: fout- of misbruikgevoelig) al zijn gemarkeerd als veiligheidsrisico nog voordat een programmeur het onder ogen krijgt. Het bedrijf verwacht niet dat C++ zich nog kan ontwikkelen tot een taal met een robuuste geheugenveiligheid. Daarom wil Google nieuwe code steeds vaker in 'memory safe' talen schrijven en bestaande C++-code herverpakken naar een veiliger subset. Dit aangevuld met hardwarematige beveiliging.
Het bedrijf lijkt programmeertaal Rust te omarmen als alternatief. Niet alleen voorkomt het ontwerp van Rust dat een ontwikkelaar continu het geheugenmanagement in de gaten moet houden, het is ook niet afhankelijk van 'garbage collectors', de opschoonmethode die onder meer Java toepast.
Rust 'betrouwbaar met lage overhead'
Google is kritisch op deze methode vanwege de druk op de hardware die dit met zich meebrengt. Rust is volgens Google momenteel de taal die de Safe coding-benadering het meest belichaamt, juist vanwege z'n betrouwbaarheid en lage 'runtime overhead'. Dit geldt alsnog als het betekent dat de compilatietijd onwenselijk lang is. Google lijkt de wijze waarop Rust compileert juist als een teken van betrouwbaarheid en degelijkheid te zien.
De aanbeveling van techreus Google is voor Rust een hart onder de riem. CEO Rebecca Rumbul van de Rust Foundation uitte onlangs nog haar zorgen over de stand van zaken rondom de programmeertaal. Zo zouden ontwikkelaars de leercurve te steil vinden en daarom wegblijven. Ook is de omgang met geheugenbeheer bepaald niet zaligmakend voor het voorkomen van fouten.