La exactitud del cĂłdigo en la plataforma Android es el aspecto más importante en el contexto de la seguridad, estabilidad y calidad de cada versiĂłn de Android. Los errores de seguridad de la memoria que se encuentran en el cĂłdigo C y C ++ siguen siendo los más difĂciles de limpiar. Google invierte enormes esfuerzos y recursos en detectar, eliminar errores de este tipo, asĂ como reducir el daño que provocan, tratando de mantener los errores en las versiones de Android lo menos posible. Sin embargo, a pesar de todas estas medidas, los errores relacionados con la seguridad de la memoria siguen siendo la principal fuente de problemas de estabilidad. Invariablemente representan ~ 70% de las vulnerabilidades más graves de Android.
Junto con los esfuerzos en curso y planificados para mejorar la detecciĂłn de errores de memoria, Google tambiĂ©n está intensificando sus esfuerzos para prevenirlos. Los lenguajes seguros para la memoria son el medio más eficaz y rentable de resolver este problema. El Proyecto de cĂłdigo abierto de Android (AOSP) ahora es compatible con los lenguajes Java y Kotlin seguros para la memoria, Rust, para desarrollar el sistema operativo en sĂ.
ProgramaciĂłn del sistema
, , 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. , – , , . , , , .
, , , . , .
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.