Igas viiendas Rusti pakendis kasutatakse unsafe režiimi

Rust Foundationi organisatsioon avaldas statistikat, mille kohaselt kasutab 127 000 olulisest paketist, mis on esitatud crates.io kataloogis, üle 24 000 (19,11%) võtmesõna "unsafe" ebaturvalise mälu käitlemise võimaluste lubamiseks konkreetsetes koodiblokkides, nagu pointerite dereferentseeringud, väliste funktsioonide kutsumised või staatiliste muutujate muutmine. 34,35% pakettidest teeb otseseid kõnesid muude crate-pakettide funktsioonidest, kus kasutatakse "unsafe" režiimi.

Oluline on märkida, et enamikul juhtudel on "unsafe" režiimi kasutamine tingitud koodikutsest, mis on kirjutatud teistes keeltes või raamatukogude kutsumisest C/C++ keeles. Kõige rohkem "unsafe" kutsungite arvu omav pakett on Microsofti välja töötatud crate-pakett windows, mis on Windowsi platvormi API ümber. Sellel paketil on 36 miljonit allalaadimist. Unsafe'i kasutatakse ka populaarseimates pakettides, nagu syn (470 miljonit allalaadimist), proc-macro2 (354 miljonit allalaadimist) ja libc (345 miljonit allalaadimist).

Ebaregulaarsete režiimide koodiprobleemide tuvastamiseks koostatakse projekti põhjal interpreter Miri, mis võimaldab tuvastada väljakutseid mälupiiride ületamisel, mälu kasutamist pärast vabanemist, halvasti määratletud andmete kasutamist, baastüüpide invariantide rikkumist (näiteks, et bool ei vasta väärtustele 0 või 1), objektide valdamise reeglite rikkumist, võistlusolekute teket ja mälulekkeid.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster