An haɗa tsatsa a cikin manyan harsuna don haɓaka dandamali na Android

Google ya sanar da shigar da harshen shirye-shirye na Rust a cikin harsunan da aka ba da izini don haɓaka dandalin Android. An haɗa mai tara harshen Rust a cikin bishiyar tushen Android a cikin 2019, amma goyon bayan wannan harshe ya kasance na gwaji. Wasu daga cikin abubuwan haɗin Rust na farko da aka tsara don Android sun haɗa da sabbin aiwatar da hanyar sadarwa ta hanyar sadarwa ta Binder da tarin Bluetooth.

An gudanar da gabatarwar Rust a matsayin wani ɓangare na aikin don ƙarfafa tsaro, haɓaka dabarun tsara shirye-shirye masu aminci da haɓaka haɓakar gano matsalolin lokacin aiki tare da ƙwaƙwalwar ajiya a cikin Android. An lura cewa kusan kashi 70% na duk lahani masu haɗari da aka gano a cikin Android suna haifar da kurakurai yayin aiki tare da ƙwaƙwalwar ajiya. Yin amfani da Tsatsa, wanda ke mai da hankali kan amincin ƙwaƙwalwar ajiya da sarrafa ƙwaƙwalwar ajiya ta atomatik, zai rage haɗarin lahani da ke haifar da kurakuran ƙwaƙwalwa kamar samun damar bayan kyauta da wuce gona da iri.

Tsatsa yana tilasta amincin ƙwaƙwalwar ajiya a lokacin tattara lokaci ta hanyar duba tunani, ikon mallakar abu da bin diddigin abu na rayuwa (scopes), da kuma kimanta daidaitattun hanyoyin samun ƙwaƙwalwar ajiya a lokacin aiki. Tsatsa kuma yana ba da kariya daga ambaliya mai lamba, yana buƙatar ƙima masu canzawa kafin amfani da su, yana da mafi kyawun sarrafa kurakurai a cikin daidaitaccen ɗakin karatu, yana amfani da ra'ayi na nassoshi da masu canji ta tsohuwa, kuma yana ba da ingantaccen buga rubutu don rage kurakurai masu ma'ana.

A cikin Android, ana ba da amincin ƙwaƙwalwar ajiya a cikin yarukan Kotlin da Java waɗanda aka riga aka goyan baya, amma ba su dace da haɓaka abubuwan tsarin ba saboda babban abin hawa. Tsatsa yana ba da damar yin aiki kusa da harsunan C da C++, wanda ke ba da damar yin amfani da shi don haɓaka ƙananan matakan sassa na dandamali da abubuwan haɗin gwiwa don hulɗa tare da kayan aiki.

Don tabbatar da tsaron lambar C da C++, Android tana amfani da keɓewar akwatin sandbox, bincike a tsaye, da gwajin fuzzing. Ƙarfin keɓewar akwatin sandbox yana da iyaka kuma sun kai iyakar ƙarfin su (ƙarin rarrabuwa cikin matakai ba shi da amfani daga ra'ayi na amfani da albarkatu). Iyakoki na amfani da akwatin yashi sun haɗa da manyan farashin sama da ƙara yawan ƙwaƙwalwar ajiya da ke haifar da buƙatar haifar da sabbin matakai, da ƙarin jinkiri mai alaƙa da amfani da IPC.

A lokaci guda, sandbox ba ya kawar da lahani a cikin lambar, amma kawai yana rage haɗari kuma yana dagula harin, tun da yin amfani da shi yana buƙatar gano ba ɗaya ba, amma yawancin lahani. Hanyoyin da aka dogara da gwajin lambar suna iyakance a cikin cewa don gano kurakurai, ya zama dole don ƙirƙirar yanayi don matsalar ta bayyana. Ba zai yiwu a rufe duk zaɓuɓɓukan da za a iya ba, don haka kurakurai da yawa ba a lura da su ba.

Don tsarin tafiyar da tsarin Android, Google yana bin ka'idodin biyu, bisa ga abin da kowane lambar da aka ƙara ba dole ba ne ta cika sama da biyu daga cikin sharuɗɗa uku: aiki tare da bayanan shigar da ba a tabbatar ba, ta amfani da yaren shirye-shirye mara aminci (C/C++), da Gudu ba tare da tsantsan keɓewar akwatin sandbox (suna da manyan gata). Wannan doka tana nuna cewa dole ne a rage lambar sarrafa bayanan waje zuwa mafi ƙarancin gata (keɓe) ko a rubuta cikin amintaccen yaren shirye-shirye.

Google baya nufin sake rubuta lambar C/C++ data kasance a cikin Rust, amma yana shirin amfani da wannan harshe don haɓaka sabon lamba. Yana da ma'ana don amfani da Rust don sabon lamba saboda, a kididdiga, yawancin kwari suna bayyana a cikin sabon ko canza lambar kwanan nan. Musamman, kusan kashi 50% na kurakuran ƙwaƙwalwar ajiya da aka gano a cikin Android ana gano su a lambar da aka rubuta ƙasa da shekara guda da ta gabata.

An haɗa tsatsa a cikin manyan harsuna don haɓaka dandamali na Android


source: budenet.ru

Add a comment