En cada quinto paquete en el lenguaje Rust se utiliza el modo unsafe

La organización Rust Foundation publicó estadísticas según las cuales, de 127 mil paquetes significativos presentados en el catálogo crates.io, más de 24 mil (19.11%) utilizan la palabra clave «unsafe» para activar características que permiten el manejo inseguro de la memoria en bloques de código, como la desreferenciación de punteros, la llamada a funciones externas o la modificación de variables estáticas. El 34.35% de los paquetes realizan llamadas directas a funciones de otros paquetes crates que utilizan el modo «unsafe».

Se observa que, en la mayoría de los casos, el uso del modo «unsafe» se debe a la llamada de código escrito en otros lenguajes o a la interacción con bibliotecas en C/C++. El paquete con el mayor número de llamadas en modo «unsafe» es el crate windows, desarrollado por Microsoft, que actúa como un envoltorio sobre la API de la plataforma Windows. Este paquete cuenta con 36 millones de descargas. Unsafe también se utiliza en los paquetes más populares syn (470 millones de descargas), proc-macro2 (354 millones de descargas) y libc (345 millones de descargas).

Para identificar problemas en el código ejecutado en modo «unsafe», el proyecto desarrolla un intérprete llamado Miri, que permite determinar accesos fuera de los límites de los buffers, el uso de memoria después de su liberación, el uso incorrecto de datos no inicializados, la violación de la invarianza de tipos básicos (por ejemplo, valores booleanos que no cumplen con 0 o 1), la violación de las reglas de propiedad de los objetos, la aparición de condiciones de carrera y fugas de memoria.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster