Pafupifupi 21% yamakhodi atsopano omwe adapangidwa mu Android 13 adalembedwa ku Rust

Akatswiri ochokera ku Google adafotokoza mwachidule zotsatira zoyambirira zoyambitsa chithandizo chachitukuko cha Rust mu nsanja ya Android. Mu Android 13, pafupifupi 21% yamakhodi atsopano omwe adawonjezeredwa amalembedwa mu Rust, ndi 79% mu C/C++. Malo osungiramo AOSP (Android Open Source Project), omwe amapanga magwero a nsanja ya Android, ali ndi mizere pafupifupi 1.5 miliyoni ya Rust code yolumikizidwa ndi zida zatsopano monga Keystore2 cryptographic key store, stack for UWB chips (Ultra-Wideband) , kukhazikitsidwa kwa protocol ya DNS-over-HTTP3, AVF (Android Virtualization Framework) chimango, ma stacks oyesera a Bluetooth ndi Wi-Fi.

Pafupifupi 21% yamakhodi atsopano omwe adapangidwa mu Android 13 adalembedwa ku Rust

Mogwirizana ndi njira yomwe idakhazikitsidwa kale yochepetsera chiopsezo cha zovuta zomwe zimachitika chifukwa cha zolakwika pogwira ntchito ndi kukumbukira, chilankhulo cha dzimbiri chimagwiritsidwa ntchito makamaka pakupanga kachidindo katsopano komanso kulimbitsa pang'onopang'ono chitetezo cha zigawo zomwe zili pachiwopsezo komanso zofunikira kwambiri zamapulogalamu. Palibe cholinga chachikulu cha kusamutsa nsanja yonse ku Dzimbiri ndipo code yakale imakhalabe mu C / C ++, ndipo kulimbana ndi zolakwika mmenemo kumachitika pogwiritsa ntchito kuyesa kwa fuzzing, kusanthula kosasunthika komanso kugwiritsa ntchito chitukuko cha njira zofanana. pogwiritsa ntchito mtundu wa MiraclePtr (kumangirira zolozera zosaphika, kuchita macheke owonjezera ofikira malo okumbukira omasulidwa), dongosolo la Scudo memory allocation (malo otetezeka a malloc/free) ndi njira zodziwira zolakwika mukamagwira ntchito ndi memory HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN ndi KFENCE.

Ponena za ziwerengero za chikhalidwe cha ziwopsezo pa nsanja ya Android, zimadziwika kuti code yatsopano yomwe imagwira ntchito mosatetezeka ndi kukumbukira imachepa, pali kuchepa kwa ziwopsezo zomwe zimayambitsidwa ndi zolakwika pogwira ntchito ndi kukumbukira. Mwachitsanzo, gawo lachiwopsezo chobwera chifukwa cha zovuta zamakumbukiro lidatsika kuchokera pa 76% mu 2019 mpaka 35% mu 2022. Paziwerengero zenizeni, ziwopsezo 2019 zokhudzana ndi kukumbukira zidadziwika mu 223, 2020 mu 150, 2021 mu 100, ndi 2022 mu 85 (zowopsa zonse zinali mu code C/C++; mu Rust code, palibe mavuto ofanana mpaka pano. anapeza). 2022 chinali chaka choyamba chomwe ziwopsezo zokhudzana ndi kukumbukira zidasiya kulamulira.

Pafupifupi 21% yamakhodi atsopano omwe adapangidwa mu Android 13 adalembedwa ku Rust

Popeza kuti ziwopsezo zokhudzana ndi kukumbukira nthawi zambiri zimakhala zowopsa kwambiri, ziwerengero zonse zikuwonetsanso kuchepa kwa zovuta komanso zovuta zomwe zitha kugwiritsidwa ntchito kutali. Pa nthawi yomweyi, mphamvu zozindikiritsa zofooka zomwe sizikugwirizana ndi kugwira ntchito ndi kukumbukira zakhalabe pamlingo womwewo kwa zaka 4 zapitazi - zofooka za 20 pamwezi. Gawo lamavuto owopsa pakati pazovuta zomwe zimachitika chifukwa cha zolakwika pogwira ntchito ndi kukumbukira zimatsalira (koma popeza kuchuluka kwa ziwopsezo zotere kumachepa, kuchuluka kwa zovuta zowopsa kumachepanso).

Pafupifupi 21% yamakhodi atsopano omwe adapangidwa mu Android 13 adalembedwa ku Rust

Ziwerengerozi zimatsatanso kulumikizana pakati pa kuchuluka kwa nambala yatsopano yomwe imagwira ntchito mosatetezeka ndi kukumbukira komanso kuchuluka kwa ziwopsezo zokhudzana ndi kukumbukira (buffer kusefukira, kufikira kukumbukira komasulidwa kale, ndi zina). Izi zikutsimikizira lingaliro loti cholinga chake pokhazikitsa njira zotetezedwa kuyenera kukhala kuchotsa ma code atsopano m'malo molembanso ma code omwe alipo, popeza kuchuluka kwa zovuta zomwe zadziwika zili mu code yatsopano.

Pafupifupi 21% yamakhodi atsopano omwe adapangidwa mu Android 13 adalembedwa ku Rust


Source: opennet.ru

Kuwonjezera ndemanga