• Inicio

    Horario

    Arrancamos este miércoles 14/8 a las 17hs. 

    Miércoles de 17 a 20 (Teórica)

    Miércoles de 20 a 21 (Práctica)

    Viernes de 18 a 22 (Taller  y consultas para seminarios) 

    AAP

    El análisis estático permite extraer propiedades sobre un programa antes de la ejecución real del mismo. Esta información puede ser luego utilizada para realizar transformaciones sobre el mismo (compilación, optimizaciones, etc.) y/o realizar pruebas sobre su corrección.

    En este curso Introduciremos las técnicas y conceptos básicos del análisis estático de código y sus principales aplicaciones. En particular se estudiará como estas técnicas se aplican a la verificación automática de software.

    ¿Qué es el análisis de programas?

    • Técnicas que toman el código (fuente, bytecode o asm),como input y razona e infiere propiedades sobre el mismo.
    • Puede ser estático (sin ejecutar), dinámico (ejecutando realmente el programa), híbrido
    • Puede ser sobreaproximado o. subaproximado. O preciso
    • No computable en general.
    • Trade-off: tiempo / memoria / decidibilidad / precisión

    ¿Para qué sirve?

    • Generación de código: Compilación, optimización, transformación…
    • Verificación: Chequear contratos, buscar bugs, generar casos de test…
    • Comprensión: Obtener invariantes, obtener modelos, ingeniería reversa…
    • Seguridad: Buffer overflows, information flow…

    Esta es la materia llamada en el sistema como Análisis y Síntensis Automático de Programas

    Pre-requisitos

    Paradigmas de Lenguajes de Programación