70% o faʻafitauli saogalemu i Chromium e mafua mai i mea sese e manatua

Atina'e o le poloketi Chromium iloilo 912 tulaga lamatia ma mataʻutia faʻafitauli na faʻaalia i faʻasalalauga faʻamautu o Chrome talu mai le 2015, ma faʻamaonia ai o le 70% oi latou na mafua mai i le le mautonu o le mafaufau (mea sese pe a galue ma faʻailoga ile C / C ++ code). O le afa o nei faʻafitauli (36.1%) e mafua mai i avanoa i le paʻu pe a uma ona faʻasaʻoloto le manatua e fesoʻotaʻi ma ia (faʻaaogaina-pe a uma-leai).

70% o faʻafitauli saogalemu i Chromium e mafua mai i mea sese e manatua

Ina ua mamanuina Chromium sa muamua taoto i laloe mafai ona aliali mai ni mea sese i le code, o lea na tuʻuina atu ai se faʻamamafa tele i le faʻaogaina o le faʻaesea o le sandbox e faʻatapulaʻa ai aʻafiaga o faʻafitauli. I le taimi nei, o avanoa o le faʻaaogaina o lenei tekinolosi ua oʻo i le tapulaʻa o latou gafatia ma o le faʻavasegaina atili i faiga e le mafai ona faʻaogaina mai le manatu o le faʻaaogaina o punaoa.

Ina ia tausia le saogalemu o le codebase, Google faʻamalosia foi "pule o le lua", e tusa ai ma soʻo se tulafono faʻaopoopo e tatau ona ausia e le sili atu ma le lua o le tolu tulaga: galue ma faʻamatalaga faʻapipiʻi e leʻi faʻamaonia, faʻaaogaina se gagana faʻapolokalame le saogalemu (C / C ++) ma faʻatautaia ma tulaga maualuga. O lenei tulafono e fa'aalia ai o le tulafono mo le fa'agaioiina o fa'amatalaga i fafo e tatau ona fa'aititia i ni fa'amanuiaga laiti (tu'ufua) pe tusia i se gagana fa'apolokalame fa'amautu.

Ina ia faʻaleleia atili le saogalemu o le code base, ua faʻalauiloaina se poloketi e puipuia ai mea sese manatua mai le faʻaalia i le code base. E tolu auala autu: fatuina o le C ++ faletusi ma galuega mo le saogalemu o le faʻaogaina o le manatua ma faʻalauteleina le lautele o le lapisi lapisi, faʻaogaina masini puipuiga. MTE (Memory Tagging Extension) ma le tusiaina o vaega i gagana e mautinoa ai le saogalemu o galuega ma manatua (Java, Kotlin, JavaScript, Rust, Swift).

O lo'o fa'amoemoe o le a taula'i galuega i vaega e lua:

  • Suiga taua i le faiga o le atinaʻeina o le C++, lea e le aofia ai se aʻafiaga leaga i le faʻatinoga (faʻaopoopo siaki tuaoi ma le aoina o lapisi). Nai lo o fa'ailoga mata'utia, ua fautuaina e fa'aoga le ituaiga VavegaPtr, lea e mafai ai e oe ona faʻaitiitia le faʻaaogaina-pe a uma-leai se mea sese i faʻalavelave e le faʻaalia ai se faʻamataʻu saogalemu, e aunoa ma se aʻafiaga le lelei i le faʻatinoga, faʻaogaina o le mafaufau ma le mautu.
  • O le faʻaaogaina o gagana ua fuafuaina e faʻatino ai siaki saogalemu i le taimi e tuʻufaʻatasia ai (o le a faʻaumatia ai le aʻafiaga le lelei i le faʻatinoga o loʻo i totonu o ia siaki i le taimi o le faʻatinoina o tulafono, ae o le a taʻitaʻia ai tau faʻaopoopo mo le faʻatulagaina o fegalegaleaiga o le code i se gagana fou ma code in C++).

O le fa'aaogaina o faletusi e teu ai manatua o le auala sili lea ona faigofie, ae fa'aitiitia fo'i le lelei. O le toe tusia o le code i Rust ua faʻamauina o se auala sili ona aoga, ae o se auala taugata tele.

70% o faʻafitauli saogalemu i Chromium e mafua mai i mea sese e manatua

puna: opennet.ru

Faaopoopo i ai se faamatalaga