Le mois dernier, nous avons vu les premiers petits pas vers l’adoption du langage de programmation Rust, qui gère la mémoire, dans le noyau Linux. Google a apparemment eu la même idée. En effet, le géant de la recherche utilise désormais Rust pour le développement de bas niveau du projet Android Open Source (AOSP).
Kotlin et Java sont les principaux langages utilisés pour créer des applications Android, mais C et C++ sont toujours utilisés pour le cœur du système d’exploitation (OS). Google espère profiter des avantages de Rust en autorisant son utilisation dans le système d’exploitation de bas niveau.
Rust est très similaire à C et C++, avec de nombreux mots-clés et commandes identiques. Comme le C, Rust n’a pas de garbage collector (GC), ce qui le rend idéal pour l’intégration avec le code C. Cependant, ce que Rust a c’est la sécurité de la mémoire sous la forme de la propriété.
Rust fournit des garanties de sécurité de la mémoire en utilisant une combinaison de contrôles à la compilation pour faire respecter la durée de vie/la propriété des objets et des contrôles à l’exécution pour s’assurer que les accès à la mémoire sont valides. Cette sécurité est obtenue tout en offrant des performances équivalentes à celles du C et du C++.
Ces caractéristiques font de Rust une option idéale pour une utilisation dans le système d’exploitation sous-jacent. Google ne prévoit pas de réécrire l’ensemble du code d’Android, une tâche qui serait prohibitive. Au lieu de cela, la société prévoit d’utiliser Rust principalement pour le nouveau code, où dans la majorité des bugs de mémoire existent.
L’analyse de l’âge des bogues de sécurité de la mémoire dans Android (mesuré à partir du moment où ils ont été introduits pour la première fois) démontre pourquoi nos efforts en matière de langage de sécurité de la mémoire sont mieux concentrés sur le nouveau développement et non sur la réécriture de code C/C++ mature.
Une bonne nouvelle pour corriger les bugs
Comme le code source d’Android est un projet open source qui compte des milliards d’utilisateurs, il fait l’objet d’une attention particulière. Google affirme que « la plupart de nos bugs de mémoire surviennent dans du code nouveau ou récemment modifié, dont environ 50 % ont moins d’un an ».
L’annonce de Google est une bonne nouvelle pour le langage de programmation Rust, ainsi que pour les utilisateurs d’Android.