Cargando Eventos

Título: Anotación automática de tipos para colecciones en ambientes dinámicos
Directores: Hernán Wilkinson
Jurados: Hernán Melgratti, Diego Garbervetsky

Resumen:
Las colecciones son el principal ejemplo de tipos paramétricos o genéricos y son, a su vez, utilizadas ampliamente en el desarrollo de software, dándole una importancia aún mayor a su correcto tipado. Este trabajo presenta una implementación para la anotación automática de tipos sobre dichos objetos, basada en los tipos añadidos a sus instancias y extendiendo el soporte de LiveTyping.
LiveTyping es un sistema de anotación automática de tipos con el fin de mejorar la experiencia de desarrollo en ambientes dinámicos, donde la falta de tipado estático dificulta la implementación de herramientas. Su funcionamiento se basa en la intervención a nivel VM de primitivas de asignación y ejecución de métodos, puntos donde se inspeccionan y recolectan los tipos observados. Al funcionar sobre un ambiente de desarrollo vivo donde la misma VM se utiliza tanto para ejecutar código como para ejecutar la IDE, la información recolectada es inmediatamente puesta a disposición de las herramientas de desarrollo.
La investigación se centra en extender este sistema a colecciones, donde la información de tipos sólo puede ser recolectada de manera diferida sobre las instancias, a medida que los objetos son añadidos a las mismas. En este trabajo discutiremos los cambios sobre la VM e imagen realizados para ello, los cambios sobre el ambiente de desarrollo para beneficiarse de esta nueva información disponible, así como los desafíos enfrentados.
Como conclusión, se presenta una generalización de la implementación realizada y se discuten los cambios requeridos para extender LiveTyping de manera de soportar todo tipo paramétrico.

Palabras claves: Virtual Machine, LiveTyping, Tipado Estatico, Tipado Dinámico, Tipos Paramétricos, Generics, Parametrización Polimórfica, Live Development Environments