Diferencia entre revisiones de «Ingeniería de Software II»
Línea 42: | Línea 42: | ||
== Exámenes == | == Exámenes == | ||
=== Primer Parcial === | === Primer Parcial === | ||
* [[IngSoft2 primer parcial 06/10/2022| | * Primer Recuperatorio del Segundo Cuatrimestre de 2022 [[IngSoft2_1recu_28-11-22|(Enunciado)]] | ||
* Primer | * Primer Parcial del 2do Cuatrimestre de 2022 [[IngSoft2 primer parcial 06/10/2022|(Resuelto)]] | ||
* Parcial | * Primer Parcial del 2do Cuatrimestre de 2019 [[Medio:Ing2 1parcial 19-09-19.pdf| (Resuelto)]] | ||
* Simulacro del | * Parcial Único del 2do Cuatrimestre de 2018 [[Medio:Ing2_1parcial_01-11-18.pdf| (Enunciado)]] [[Medio:Ing2_1parcial_01-11-18_resuelto_parte1.pdf| (Resuelto)]] [[Medio:Ing2_1parcial_01-11-18_resuelto_parte2.pdf| (Resuelto)]] | ||
* Simulacro del Parcial Único del 2do Cuatrimestre de 2018 [[Medio:Ing2_simulacro_2018c2.pdf| (Enunciado)]] | |||
=== Segundo Parcial === | === Segundo Parcial === |
Revisión del 14:04 10 dic 2022
Plantilla:Completar guías 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
- Apuntes para parciales 2019. Usar a discreción. Esto fue un intento que hicimos con mi grupo de juntar y explicar los temas importantes de la materia para los primeros dos parciales. Puede contener errores y faltar cosas. Codigo fuente
- Apunte para final 2021
Exámenes
Primer Parcial
- Primer Recuperatorio del Segundo Cuatrimestre de 2022 (Enunciado)
- Primer Parcial del 2do Cuatrimestre de 2022 (Resuelto)
- Primer Parcial del 2do Cuatrimestre de 2019 (Resuelto)
- Parcial Único del 2do Cuatrimestre de 2018 (Enunciado) (Resuelto) (Resuelto)
- Simulacro del Parcial Único del 2do Cuatrimestre de 2018 (Enunciado)
Segundo Parcial
- Segundo parcial 24/11/2022 (Resuelto)
- Segundo parcial 21/10/2019 (Resuelto)
Coloquio
- Coloquio 21/11/2019 (Enunciado)