70% dhibaatooyinka amniga Chromium waxaa sababa khaladaadka xusuusta

Horumarinta mashruuca Chromium la falanqeeyay 912 halis sare ah iyo baylahda muhiimka ah ayaa lagu aqoonsaday siideynta xasilloon ee Chrome ilaa 2015, waxayna ku soo gabagabeeyeen in 70% iyaga ka mid ah ay sababeen ammaan-darrada xusuusta (khaladaadka markii lala shaqeynayey tilmaamayaasha C/C ++ code). Kala badh dhibaatooyinkan (36.1%) waxa sababa gelitaanka kaydka ka dib marka la xoreeyo xusuusta la xidhiidha (isticmaalka-ka-dib-free).

70% dhibaatooyinka amniga Chromium waxaa sababa khaladaadka xusuusta

Markii la nashqadeeyay Chromium waxay ahayd markii hore la dhigay, in ay suurtagal tahay in khaladaadku ka soo baxaan koodhka, sidaas darteed xooga weyn ayaa la saaray isticmaalka go'doominta sandbox si loo xaddido cawaaqibka dayacanka. Waqtigan xaadirka ah, suurtagalnimada isticmaalka tignoolajiyadan waxay gaareen xadka awoodooda iyo kala qaybsanaan dheeraad ah oo ku saabsan hababka waa wax aan macquul ahayn marka loo eego aragtida isticmaalka kheyraadka.

Si loo ilaaliyo amniga codebase, Google waxa kale oo uu xoojiyaa "xeer laba", sida uu qabo kood kasta oo lagu daray waa inuu ka soo baxaa wax aan ka badnayn laba ka mid ah shuruudaha: ku shaqeynta xogta gelinta aan la ansaxin, adeegsiga luuqad barnaamijeed aan ammaan ahayn (C/C++) iyo ku shaqeynta mudnaanta sare leh. Xeerkani waxa uu tusinayaa in koodka habaynta xogta dibadda ay tahay in ama lagu soo koobo mudnaanta ugu yar (go'doon) ama lagu qoro luuqad barnaamijeed sugan.

Si loo sii wanaajiyo amniga saldhigga koodhka, mashruuc ayaa la bilaabay si looga hortago khaladaadka xusuusta ee ka muuqda saldhigga code-ka. Waxaa jira saddex hab oo waaweyn: abuurista maktabado C++ ah oo leh hawlqabad badbaado leh oo xusuusta ah iyo ballaarinta baaxadda qashinka ururiyaha, iyadoo la adeegsanayo hababka ilaalinta qalabka MTE (Xusuusta Tagging Extension) iyo qaybaha qorista ee luqadaha kuwaas oo hubiya shaqada aaminka ah ee xusuusta (Java, Kotlin, JavaScript, Rust, Swift).

Waxa la filayaa in shaqadu ay noqon doonto laba qaybood oo kala ah:

  • Isbeddel la taaban karo oo ku yimid geeddi-socodka horumarinta C++, kaas oo aan ka reebin saameynta xun ee waxqabadka (baaritaannada xuduudaha dheeraadka ah iyo ururinta qashinka). Halkii tilmaame cayriin ah, waxaa la soo jeediyay in la isticmaalo nooca MiraclePtr, kaas oo kuu ogolaanaya inaad hoos u dhigto khaladaadka isticmaalka-ka-dib-la'aanta bilaashka ah ee shilalka aan keenin khatar ammaan, iyada oo aan saameyn xun oo muuqata ku yeelan waxqabadka, isticmaalka xusuusta iyo xasilloonida.
  • Isticmaalka luqadaha loogu talagalay in lagu sameeyo hubinta badbaadada xusuusta waqtiga la isku duba ridi doono (waxay meesha ka saari doontaa saameynta xun ee waxqabadka ku jira hubinta noocaas ah inta lagu jiro fulinta code, laakiin waxay horseedi doontaa kharashyo dheeri ah oo lagu abaabulo isdhexgalka koodka luqad cusub oo leh koodka gudaha C++).

Isticmaalka maktabadaha xafidan xusuusta ayaa ah kan ugu fudud, laakiin sidoo kale habka ugu waxtarka yar. Koodhka dib-u-qorista ee Rust waxaa lagu qiimeeyaa inuu yahay kan ugu waxtarka badan, laakiin sidoo kale habka aad u qaali ah.

70% dhibaatooyinka amniga Chromium waxaa sababa khaladaadka xusuusta

Source: opennet.ru

Add a comment