El Ecosistema Startup > Blog > Actualidad Startup > Fil-C: Implementación segura en memoria de C y C++

Fil-C: Implementación segura en memoria de C y C++

Aspectos clave de Fil-C

Fil-C es una implementación segura en memoria para los lenguajes de programación C y C++, diseñada para ofrecer total seguridad sin sacrificar la compatibilidad con código C existente. A continuación, detallamos algunas de sus principales características:

  • Seguridad en memoria: Utiliza una combinación de recolección de basura concurrente y capacidades invisibles (InvisiCaps) para lograr una total seguridad en memoria. Cada operación potencialmente insegura en C y C++ es comprobada por estas capacidades, atrapando los errores de memoria a medida que ocurren.
  • Compatibilidad con C y C++: Totalmente compatible con el código existente de C y C++. Aplicaciones como CPython, OpenSSH y GNU Emacs, pueden compilar y ejecutarse sin modificaciones.
  • Herramientas modernas: El compilador de Fil-C está basado en la versión reciente de clang (20.1.8), apoyando todas las extensiones de clang y la mayoría de las extensiones de GCC. Funciona a la perfección con sistemas de construcción estándar como make, autotools, cmake y meson.

Funcionamiento y limitaciones

Fil-C logra la seguridad en memoria sin necesidad de utilizar una palabra clave ‘unsafe’, gracias a su enfoque basado en capacidades. Cada puntero en Fil-C se asocia con una capacidad que define el rango de memoria que puede acceder y cómo puede acceder a ella. Esto evita que los errores de seguridad en memoria sean explotados.

Una de las principales limitaciones de Fil-C es su rendimiento comparado con el C tradicional. Generalmente es más lento debido a las comprobaciones adicionales y la recolección de basura.

Desarrollo y uso actual

Fil-C está en activo desarrollo y es un tema de discusión en la comunidad de programación. Ofrece una alternativa a Rust y otros lenguajes seguros en memoria para proyectos donde se prefiera o sea necesario usar C o C++. Se están llevando a cabo esfuerzos para integrar Fil-C en gestores de paquetes como Nix para ampliar su usabilidad.

Conclusión

Fil-C representa un enfoque innovador para asegurar el código en C y C++ sin sacrificar compatibilidad, ofreciendo una solución robusta para las preocupaciones sobre seguridad en memoria.

Descubre cómo otros founders implementan estas soluciones en nuestra comunidad.

Explorar ahora

Fuentes

  1. https://lwn.net/SubscriberLink/1042938/ac9a001023324bf8/ (fuente original)
  2. https://fil-c.org
  3. https://www.youtube.com/watch?v=Gij9UQy_JEQ
  4. https://github.com/pizlonator/fil-c
  5. https://news.ycombinator.com/item?id=42158296
  6. https://www.theregister.com/2024/11/16/rusthaters_unite_filc/
  7. https://www.youtube.com/watch-v=iQ-eTaW6-cM
  8. https://2024.splashcon.org/details/splash-2024-rebase/3/Fil-C-memory-safety-with-fanatical-C-C-compatibility
  9. https://www.youtube.com/watch-v=yyFI7NgyySE
  10. https://news.ycombinator.com/item?id=45735877
  11. https://dl.acm.org/doi/10.1145/1542476.1542505
¿te gustó o sirvió lo que leíste?, Por favor, comparte.
Share to...