DCC graduó nuevo Doctor en Ciencias mención Computación

Image preview

De izq. a der.: Alexandre Berguel, Sergio Ochoa, Esteban Allende, Laurence Tratt (en videoconferencia), David Röthlisberger y Éric Tanter.

Image preview

Image preview


Compartir

 

Esteban Allende obtuvo dicho grado académico con una investigación que mejora el rendimiento y confiabilidad de los programas gradualmente tipados.

 

"Improving the Efficiency and Reliability of Gradual Typing" se titula la tesis con que Esteban Allende obtuvo el pasado 8 de enero, el grado de Doctor en Ciencias mención Computación. El trabajo de investigación fue guiado por los académicos del DCC Johan Fabry y Éric Tanter. En tanto, la comisión evaluadora la conformaron los profesores Alexandre Bergel (DCC), David Röthlisberger (Universidad Diego Portales) y, como profesor externo, Laurence Tratt del King’s College London.

 

Esteban Allende explica que los programadores poseen varias herramientas para evitar errores al momento de programar. Una de ellas son los sistemas de tipos, los que asocian valores con tipos –por ejemplo, asociar el valor 1 con el tipo Entero, y el valor "Una frase" con el tipo Cadena— para luego verificar que un valor recibido o entregado es de un cierto tipo. “Existen dos sistemas de tipos básicos que se ocupan: sistemas de tipos estáticos, en que el programador o el compilador explícitamente señala los tipos esperados de los valores recibidos y que son verificados antes de ejecutar a los programas; y los sistemas de tipos dinámicos, en que el programador no ve los tipos, y estos se ocupan solo cuando se ejecuta el programa para prevenir operaciones no válidas” señala Esteban.

 

Agrega que los tipos graduales permiten mezclar ambas disciplinas, “es decir, que en ciertas partes de la aplicación se pueda especificar qué tipo de valores se esperan recibir y verificar al compilar o al ejecutar, y que en otras partes no sea necesario especificar ni verificar tipos al compilar”.

 

En este contexto, el nuevo Doctor explica que el objetivo de su investigación fue, en primer lugar, mejorar la performance de los programas que usan tipos graduales, es decir, que estos corran más rápido al reducir el coste en tiempo de algunos procesos. En segundo lugar, la confiabilidad, esto es poder tener un control de qué partes de la ejecución de los programas están estáticamente tipados y qué partes están dinámicamente tipados. “Esto es más difícil de lo que se puede pensar debido a que las interacciones con otros módulos, funciones, variables, etc., pueden hacer que ciertas secciones interactúen con una sección estáticamente/dinámicamente tipeada sin que el programador se dé cuenta”, dice Esteban y afirma que en su tesis se proponen dos soluciones: estrategias de inserción de casts, que mejora la performance, y tipos graduales acotados (“Confined Gradual Typing”) que se enfoca tanto en la performance como la confiabilidad. 

 

Dentro de los logros obtenidos, destaca, entre otros, el tener un lenguaje gradualmente tipado con una granularidad a nivel expresión. “Al momento de partir mi doctorado, no había ningún lenguaje gradualmente tipado que pudiera usar para mi investigación. Al final, tuvimos que crearlo en lo que más tarde sería Gradualtalk, una de las contribuciones de mi tesis”, señala y agrega que otro importante logro fue trabajar con un problema no resuelto: “Una de nuestras contribuciones es Confined Gradual Typing, que ataca el problema de confiabilidad, problema que encontramos cuando trabajamos en las estrategias de inserción de casts”.

 

Para la realización exitosa de esta tesis, Esteban destacó el apoyo permanente recibido por los profesores guías: “Johan Fabry siempre me ayudo tanto a mejorar como a corregirme los puntos que estaba equivocándome. El  profesor Éric Tanter, era el que me guiaba en la parte teórica de nuestra investigación, y el que expandía las ideas junto a otros profesores”, concluyó.

 

--

Comunicaciones DCC