5.61.4.11 Métodos Formales (5 horas) [Habilidades AG-C03,AG-C09]

Referencias Bibliográficas: [Sommerville, 2015]

Temas

  1. Especificación formal de interfaces
    1. Especificación de pre y post condiciones
    2. Lenguajes formales para escribir y analizar pre y post condiciones.
  2. áreas de problemas bien atendidas por los métodos formales
    1. Programación libre de bloqueos (lock-free), condiciones de carrera de datos
    2. Sistemas asíncronos y distribuidos, bloqueos (deadlock), bloqueos vivos (livelock), etc.
  3. Comparación con otras herramientas y técnicas para la detección de defectos
    1. Pruebas
    2. Fuzzing
  4. Enfoques formales para el modelado y análisis de software
    1. Verificadores de modelos (model checkers)
    2. Buscadores de modelos (model finders)

Aprendizaje esperado (Learning Outcomes)

  1. Describir el papel que las técnicas de especificación y análisis formal pueden desempeñar en el desarrollo de software complejo y comparar su uso como técnicas de validación y verificación con las pruebas [Describir]
  2. Aplicar técnicas de especificación y análisis formal a diseños y programas de software de baja complejidad [Aplicar]
  3. Explicar los beneficios y desventajas potenciales del uso de lenguajes de especificación formal [Explicar]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM