Rust is in opkomst als memory-safe alternatief voor C en C++. Maar de standard library maakt nog te vaak gebruik van onveilige functies. 7.500 van de 35.000 vallen hieronder. AWS en de Rust Foundation zijn van plan ze tegen betaling te elimineren.
Bouwers van Rust-functies moeten specifiek aangeven dat een functie onveilig is, dat niet per se de vertrouwde aard wegneemt. Immers is het dan aan de ontwikkelaar om geheugen op correcte wijze te beheren, iets dat anders door de taal zelf is geregeld. Zonder deze uitwijkroute zijn sommige acties met de Rust-taal ook niet mogelijk.
AWS trekt zak geld
AWS heeft het probleem van “incorrecte” Rust-code gemarkeerd als een probleem. Het wil de standard library verifiëren om ‘undefined behavior’ (UB) niet meer voor te laten komen, iets dat met onveilige functies aan de ontwikkelaar is om te voorkomen.
AWS giet samen met de Rust Foundation de verschillende pijnpunten om in uitdagingen. Tegenover elke uitdaging staat een financiële beloning. Het kan gaan om het verifiëren van de standard library, maar ook om het bouwen van tools die hierin helpen.
Verschillende tools bestaan al om developers te assisteren. Zo vertaalt Aeneas Rust naar wiskundige representaties van de taal om te kunnen bewijzen dat Rust veilig is.
Belofte van Rust waargemaakt?
“Rust richt zich op het zijn van een veilige en performante taal”, aldus AWS. Maar het heeft klaarblijkelijk een duwtje in de goede richting nodig. Nu de programmeertaal steeds meer adoptie ziet maar nog niet alom aanwezig, is juist nu de kans om orde op zaken te stellen. In tegenstelling tot C en C++, veelal de voorgangers van Rust als het om low-level code gaat, is de taal een opzettelijke renovatie.
Het elimineren van geheugengerelateerde kwetsbaarheden is uiteindelijk het doel. GitHub-gebruikers hebben echter meermaals aangetoond dat zelfs Rust-code dat alle regels naleeft, nog onveilig kan zijn. Er is dus meer aan de hand dan alleen de berg aan onveilige functies waar nagenoeg elk grootschalig Rust-project gebruik van maakt. Of AWS dit samen met de Rust Foundation gaat oplossen, valt in twijfel te trekken.
Lees ook: Waarom programmeertaal Rust steeds populairder wordt