L'exactitude du code sur la plate-forme Android est l'aspect le plus important dans le contexte de la sécurité, de la stabilité et de la qualité de chaque version d'Android. Les bogues de sécurité de la mémoire trouvés dans le code C et C ++ sont toujours les plus difficiles à nettoyer. Google investit des efforts et des ressources énormes dans la détection, l'élimination des bogues de ce type, ainsi que la réduction des dommages qu'ils causent, en essayant de réduire le plus possible les bogues dans les versions d'Android. Cependant, malgré toutes ces mesures, les bogues liés à la sécurité de la mémoire restent la principale source de problèmes de stabilité. Ils représentent invariablement environ 70% des vulnérabilités Android les plus graves.
Parallèlement aux efforts en cours et planifiés pour améliorer la détection des bogues de mémoire, Google intensifie également ses efforts pour les prévenir. Les langages sans danger pour la mémoire sont les moyens les plus efficaces et les plus rentables de résoudre ce problème. Le projet Android Open Source (AOSP) prend désormais en charge les langages Java et Kotlin sécurisés en mémoire, Rust, pour le développement du système d'exploitation lui-même.
Programmation système
, , Java Kotlin, Android. , . Android (ART) , . Android Java, Android , . , Android Java Kotlin .
, C, C++ Rust. . . , .
C C++ . , , .
Rust , , , . , , C C++.
C C++ , Rust, . Android , , , . : , .
Android , , C/C++ , . , , . – ; , , . , , .
, , , Rust, :
, .
, , .
C++?
, , C/C++.
, ( ) , Android , C/C++. , , 50% .
, , , . , , , , , . , .
, , , . , .
Rust , :
– .
-
– (., , ).
– . , . , C++ const, . , Rust , , .
– Result, , . Rage Against the Cage, - . ? Result , Rust , .
– , . , Android 3-5% , . Android 11, , C/C++. , , , , . Rust , . . Clang C/C++, Rust , .
– Rust , wrapping_add, , saturating_add – . Android. , : .
Android – . , , , . . . Google.