Titulación DCC

Guia
Áreas Ingeniería de software
Sub Áreas Desarrollo de software
Estado Disponible
Descripción

Tyger es un sistema de tipos para Python desarrollado en el DCC. A diferencia de herramientas como mypy, Tyger se basa en los principios de sound gradual typing y puede insertar automáticamente casts en los programas con el objetivo de preservar garantías de seguridad de tipos durante su ejecución.

El sistema ha sido desarrollado y extendido progresivamente por distintos estudiantes, incorporando nuevas funcionalidades, reglas de tipado y mecanismos de transformación de programas. Como consecuencia de este crecimiento incremental, existen oportunidades para mejorar su estructura interna, uniformar criterios de implementación y facilitar su evolución futura.

El objetivo de esta memoria es realizar una revisión sistemática de la arquitectura y la base de código de Tyger, identificando problemas de modularización, duplicación de código, responsabilidades mal ubicadas entre las distintas fases del sistema y falta de estándares comunes de desarrollo. A partir de este diagnóstico, se propone refactorizar componentes relevantes, definir convenciones y buenas prácticas, mejorar la separación entre las fases de análisis, tipado, elaboración e inserción de casts, y fortalecer la infraestructura de pruebas.

El trabajo también contempla analizar y mejorar la cobertura de pruebas, establecer criterios para evaluar la calidad interna del sistema y documentar las decisiones arquitectónicas adoptadas. El resultado esperado es una versión de Tyger más modular, consistente, testeable y mantenible, junto con un conjunto de lineamientos que orienten sus futuras extensiones y reduzcan el costo de incorporación de nuevos desarrolladores al proyecto.