Diferencia entre revisiones de «Ingeniería de Software II»

De Cuba-Wiki
 
(No se muestran 3 ediciones intermedias de 3 usuarios)
Línea 60: Línea 60:


=== Segundo Parcial ===
=== Segundo Parcial ===
* Segundo Parcial del 2do Cuatrimestre de 2023 [[Medio:inge2_seg_parcial_2do_2023.pdf|(Enunciado + Resuelto)]]
* Segundo Recuperatorio del 1er Cuatrimestre de 2024 [[Medio:Recu2inge2.pdf|(Resuelto)]]
* Segundo Parcial del 1er Cuatrimestre de 2024 [[Medio:2doP-Inge2-1C2024.pdf|(Resuelto)]]
* Segundo Recuperatorio del 2do Cuatrimestre de 2023 [[Medio:recu.pdf|(Enunciado)]]
* Segundo Parcial del 2do Cuatrimestre de 2023 [[Medio:inge2_seg_parcial_2do_2023.pdf|(Resuelto)]]
* Segundo Parcial del 1er Cuatrimestre de 2023 [[Medio:Ing2_2parcial_26-06-2023.pdf|(Enunciado)]]
* Segundo Parcial del 1er Cuatrimestre de 2023 [[Medio:Ing2_2parcial_26-06-2023.pdf|(Enunciado)]]
* Segundo Recuperatorio del 2do Cuatrimestre 2022 [[IngSoft2_2recu_05-12-22|(Enunciado)]]
* Segundo Recuperatorio del 2do Cuatrimestre de 2022 [[IngSoft2_2recu_05-12-22|(Enunciado)]]
* Segundo parcial 24/11/2022 [[Segundo parcial 24/11/2022 (IngSoft2)|(Resuelto)]]
* Segundo parcial 24/11/2022 [[Segundo parcial 24/11/2022 (IngSoft2)|(Resuelto)]]
* Segundo Parcial 21/10/2019 [[Medio:ing2_2do_parcial_21-10-19.pdf|(Resuelto)]]
* Segundo Parcial 21/10/2019 [[Medio:ing2_2do_parcial_21-10-19.pdf|(Resuelto)]]

Revisión actual - 15:08 9 ago 2024

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

  • Segundo Recuperatorio del 1er Cuatrimestre de 2024 (Resuelto)
  • Segundo Parcial del 1er Cuatrimestre de 2024 (Resuelto)
  • Segundo Recuperatorio del 2do Cuatrimestre de 2023 (Enunciado)
  • Segundo Parcial del 2do Cuatrimestre de 2023 (Resuelto)
  • Segundo Parcial del 1er Cuatrimestre de 2023 (Enunciado)
  • Segundo Recuperatorio del 2do Cuatrimestre de 2022 (Enunciado)
  • Segundo parcial 24/11/2022 (Resuelto)
  • Segundo Parcial 21/10/2019 (Resuelto)

Coloquio

Finales

Enlaces Externos