Dans chaque cinquième package en Rust, le mode unsafe est utilisé.

L'organisation Rust Foundation a publié des statistiques selon lesquelles, parmi 127 000 packages significatifs présentés dans le catalogue crates.io, plus de 24 000 (19,11 %) utilisent le mot-clé « unsafe » pour inclure des fonctionnalités permettant un accès mémoire non sécurisé dans des blocs de code spécifiques, tels que le déréférencement de pointeurs, l'appel de fonctions externes ou la modification de variables statiques. 34,35 % des packages effectuent des appels directs de fonctions à partir d'autres packages crate, où le mode « unsafe » est utilisé.

Il est à noter que dans la plupart des cas, l'utilisation du mode « unsafe » est due à l'appel de code écrit dans d'autres langages ou à l'accès à des bibliothèques en C/C++. Le package avec le plus grand nombre d'appels en mode « unsafe » est le crate développé par Microsoft, qui sert de wrapper pour l'API de la plateforme Windows. Ce package compte 36 millions de téléchargements. Unsafe est également utilisé dans les packages les plus populaires comme syn (470 millions de téléchargements), proc-macro2 (354 millions de téléchargements) et libc (345 millions de téléchargements).

Pour détecter les problèmes dans le code exécuté en mode « unsafe », le projet développe l'interpréteur Miri, qui permet d'identifier les accès en dehors des limites des buffers, l'utilisation de la mémoire après sa libération, la mauvaise utilisation de données non initialisées, la violation de l'invariants des types de base (par exemple, la non-conformité des booléens avec les valeurs 0 ou 1), la violation des règles de propriété des objets, l'apparition de conditions de concurrence et des fuites de mémoire.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster