Quiero desarrollar y mejorar los sistemas críticos de seguridad. ¿Qué paso debo seguir?

El comercio no es crítico para la seguridad. No insulte a los ingenieros que trabajan en industrias críticas para la seguridad, como la aviación y la energía nuclear, amontonándolos con lixiviados que ganan dinero para los ricos a través de algoritmos que se reducen a menudo para simplemente tener una conexión más rápida con el mercado.

Ahora despotricar sobre. Le sugiero que desee familiarizarse con un documento conocido como DO-178C, Consideraciones de software en sistemas aéreos y certificación de equipos. Es el conjunto de reglas que se utiliza para desarrollar software aprobado por la FAA y otras agencias de certificación de todo el mundo para su uso en aviones.

Al leerlo, se dará cuenta rápidamente de que se está perdiendo algo del panorama general, que lo llevará a ARP4754, Pautas para el desarrollo de aeronaves y sistemas civiles, que describe el proceso de evaluación de seguridad del sistema. También eche un vistazo a ARP4761, un documento complementario que contiene ejemplos elaborados.

Eso es solo si quieres trabajar en aviación por supuesto. Otras industrias tienen sus propias reglas, pero hay muchas similitudes.

Buena suerte.

Debes saber lo siguiente:

  1. Ada 2012 o Spark 2016
  2. Métodos formales
  3. Prueba antes del Código
  4. Poder de diez estilo de codificación
  5. Prácticas de codificación MISRA
  6. Prácticas de codificación US CERT
  7. Pruebas de regresión
  8. Escritura de documentación
  9. Comunicar procesos secuenciales
  10. Repositorios git

Nota: Algunos de estos (como 5 y 6) están dirigidos a C, C ++ y Java. Adapta donde puedas, el resto probablemente no se aplicará.

Nota 2: Ningún programa es auto-documentado, lo siento. Los comentarios no son lo suficientemente buenos. Yo sugeriría LaTeX porque es muy bueno para escribir cosas.

Nota 3: Es muy difícil escribir todo formalmente, donde es necesario estipular el contrato (condiciones previas y posteriores) y utilizarlo como una aproximación al formalismo.