Ingeniería de Software II

De Cuba-Wiki
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.
Esta página es sobre la materia del plan de estudios 1993.

Ingenería de Software II es una materia dedicada al estudio de la Ingeniería de Software. Según el Plan de la Carrera, es una materia a ser cursada en Cuarto año. Se necesita Ingeniería de Software I, Paradigmas de Lenguajes de Programación y Sistemas Operativos para cursarla.

Objetivo

En esta materia se estudiarán algoritmos, estructuras de datos, técnicas y herramientas que apuntan a analizar software automáticamente. Prácticamente todos los análisis interesantes (que serían de utilidad para un ingeniero de software que desea garantías sobre el comportamiento de lo que está construyendo) son indecidibles o computacionalmente intratables. Por lo tanto lo que se estudiará en clase es el estado del arte en materia de análisis y verificación automática, un área que a pesar de estar dando pasos agigantados, aún tiene mas preguntas abiertas que respuestas.

Programa

Unidad 1: Análisis Estático de Programas

  • Análisis de dataflow.
  • Grafo de flujo de control.
  • Ecuaciones de flujo de datos.
  • Análisis Intraprocedural vs. Interprocedural
  • May versus Must Analysis

Unidad 2: Testing Automatizado de Software

  • Criterios clásicos de calidad de un test suite.
  • Análisis de mutación.
  • Técnicas de generación de tests basadas en aleatoriedad.
  • Generación utilizando Ejecución Simbólica Pura y Ejecución Simbólica Dinámica.
  • Heurísticas de generación basadas en búsqueda.
  • Algoritmos Genéticos y Algoritmos Evolutivos.
  • Testing de Seguridad.
  • Fuzzing de caja negra, caja gris y caja blanca.
  • Fuzzing de Gramáticas.

Unidad 3: Verificación de Software Concurrente

  • Modelos de Concurrencia
  • Algebras de Proceso y Bisimulación
  • Lógicas temporales. LTL
  • Model Checking de LTL

Apuntes

Prácticas

Exámenes

Primer Parcial

Segundo Parcial

Coloquio

Finales

Enlaces Externos