Ma kahi o 21% o ka code hou i hōʻuluʻulu ʻia ma Android 13 i kākau ʻia ma Rust

Ua hōʻuluʻulu nā ʻenekinia mai Google i nā hopena mua o ka hoʻokomo ʻana i ke kākoʻo no ka hoʻomohala ʻana i ka ʻōlelo Rust i ka platform Android. Ma ka Android 13, ma kahi o 21% o ka code hou i hoʻohui ʻia i kākau ʻia ma Rust, a me 79% ma C/C++. ʻO ka waihona waihona AOSP (Android Open Source Project), ka mea e hoʻomohala i ke kumu kumu o ka Android platform, aia ma kahi o 1.5 miliona mau laina o ka Rust code e pili ana me nā mea hou e like me ka Keystore2 cryptographic key store, kahi waihona no nā chips UWB (Ultra-Wideband) , ka hoʻokō ʻana i ka protocol DNS-over-HTTP3, ka AVF (Android Virtualization Framework) virtualization framework, nā hoʻokūkū hoʻokolohua no Bluetooth a me Wi-Fi.

Ma kahi o 21% o ka code hou i hōʻuluʻulu ʻia ma Android 13 i kākau ʻia ma Rust

E like me ka hoʻolālā i hana mua ʻia no ka hōʻemi ʻana i ka pilikia o nā nāwaliwali i hana ʻia e nā hewa i ka hana ʻana me ka hoʻomanaʻo, hoʻohana nui ʻia ka ʻōlelo Rust i ka hoʻomohala ʻana i nā code hou a e hoʻoikaika mālie i ka palekana o nā mea palupalu a koʻikoʻi. ʻAʻohe pahuhopu nui o ka hoʻoili ʻana i ka paepae holoʻokoʻa iā Rust a noho mau ka code kahiko i C/C++, a ʻo ka hakakā ʻana i nā hewa i loko o ia mea e hana ʻia ma o ka hoʻohana ʻana i ka hoʻāʻo fuzzing, ka nānā ʻana static a me ka hoʻohana ʻana i ka hoʻomohala ʻana i nā ʻenehana like me. me ka hoʻohana ʻana i ke ʻano MiraclePtr (ka hoʻopaʻa ʻana i nā kuhikuhi maka, e hana ana i nā loiloi hou aʻe no ke komo ʻana i nā wahi hoʻomanaʻo i hoʻokuʻu ʻia), ka ʻōnaehana hoʻomanaʻo hoʻomanaʻo Scudo (kahi pani palekana no ka malloc/free) a me nā mīkini ʻike hewa ke hana me ka hoʻomanaʻo HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN a me KFENCE.

No nā helu helu e pili ana i ke ʻano o nā nāwaliwali i ka Android platform, ua ʻike ʻia ʻo ka emi ʻana o ke code hou e hana pono ʻole me ka hoʻomanaʻo, aia ka emi ʻana o ka helu o nā nāwaliwali i hana ʻia e nā hewa i ka hana ʻana me ka hoʻomanaʻo. No ka laʻana, ua emi mai ka hapa o nā nāwaliwali i hoʻokumu ʻia e nā pilikia hoʻomanaʻo mai 76% i 2019 a i 35% i 2022. Ma nā helu piha, ua ʻike ʻia nā nāwaliwali pili i ka hoʻomanaʻo ma 2019, 223 i 2020, 150 i 2021, a me 100 i 2022 (ʻo nā mea nāwaliwali i ʻike ʻia ma C/C++ code; ma Rust code, ʻaʻohe pilikia like a hiki i kēia manawa ʻaʻole. loaʻa). ʻO 85 ka makahiki mua i pau ai ka hoʻomalu ʻana o nā nāwaliwali pili i ka hoʻomanaʻo.

Ma kahi o 21% o ka code hou i hōʻuluʻulu ʻia ma Android 13 i kākau ʻia ma Rust

No ka mea ʻoi aku ka pōʻino o nā haʻahaʻa pili i ka hoʻomanaʻo, hōʻike pū ka helu helu holoʻokoʻa i ka emi ʻana o ka nui o nā pilikia koʻikoʻi a me nā pilikia e hiki ke hoʻohana mamao. I ka manawa like, ʻo ka dynamics o ka ʻike ʻana i nā nāwaliwali ʻaʻole pili i ka hana ʻana me ka hoʻomanaʻo e noho mau ana ma kahi o ka pae like no nā makahiki 4 i hala - 20 mau nāwaliwali i kēlā me kēia mahina. ʻO ka mahele o nā pilikia pilikia i waena o nā nāwaliwali i hoʻokumu ʻia e nā hewa i ka wā e hana ana me ka hoʻomanaʻo e mau nō hoʻi (akā, no ka emi ʻana o ka nui o ia mau nāwaliwali, emi pū ka nui o nā pilikia pilikia).

Ma kahi o 21% o ka code hou i hōʻuluʻulu ʻia ma Android 13 i kākau ʻia ma Rust

Hoʻopili pū ka ʻikepili i ka pilina ma waena o ka nui o nā code hou e hana pono ʻole me ka hoʻomanaʻo a me ka helu o nā mea nāwaliwali e pili ana i ka hoʻomanaʻo (ke kahe ʻana o ka buffer, ke komo ʻana i ka hoʻomanaʻo i hoʻokuʻu ʻia, etc.). Ke hōʻoia nei kēia ʻike i ka manaʻo ʻo ka manaʻo i ka wā e hoʻokō ai i nā ʻenehana hoʻonohonoho palekana ʻo ia ka wehe ʻana i nā code hou ma mua o ke kākau hou ʻana i nā code i loaʻa, ʻoiai ʻo ka hapa nui o nā mea nāwaliwali i ʻike ʻia ma ke code hou.

Ma kahi o 21% o ka code hou i hōʻuluʻulu ʻia ma Android 13 i kākau ʻia ma Rust


Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka