Ir al contenido

Desde Beauchef a Indianápolis

Estudiante Uchile obtiene segundo lugar en competencia internacional con investigación sobre programas incompletos

Estudiante Uchile logra segundo lugar con estudio sobre software incompleto
dcc
“Poder competir, presentar y explicar mis ideas fue algo muy valioso”, destaca el estudiante de Ingeniería Civil en Computación Pablo Benario.
dcc
“Queremos que el programador pueda trabajar de manera incremental, sin tener que esperar a que el programa esté completamente terminado para empezar a obtener retroalimentación de los tests”, explica Pablo Benario.

Una sobresaliente participación tuvo el estudiante de Ingeniería Civil en Computación del Departamento de Ciencias de la Computación (DCC) de la Facultad de Ciencias Físicas y Matemáticas de la Universidad de Chile, Pablo Benario, en la International Conference on Functional Programming (ICFP), una de las principales conferencias internacionales dedicadas a la investigación en lenguajes de programación.

La conferencia se realizó este año en Indianápolis, Estados Unidos, y reunió a investigadores/as, estudiantes y profesionales de distintas partes del mundo. En este contexto, Pablo participó en la ACM Student Research Competition, instancia en la que estudiantes presentan investigaciones desarrolladas durante su formación universitaria. Allí expuso su trabajo de título, “Testing Incomplete Programs”, realizado junto al profesor del DCC Éric Tanter, con el que obtuvo el segundo lugar en la categoría de pregrado.

La investigación aborda un desafío muy común al momento de programar: el software suele construirse paso a paso y durante ese proceso es habitual que algunas partes aún no estén implementadas. Esto dificulta el uso de herramientas de testing, que normalmente asumen que el programa ya está completo y, por ende, reportan errores cuando la ejecución de un test alcanza una parte aún no implementada. La idea, simple y efectiva, consiste en tratar la incompletitud como un resultado distinto de un fallo o un éxito.

“Queremos que el programador pueda trabajar de manera incremental, sin tener que esperar a que el programa esté completamente terminado para empezar a obtener retroalimentación de los tests”, explica Pablo.

El trabajo se centra en el property-based testing, una técnica que permite definir propiedades o comportamientos esperados de un programa y verificarlos automáticamente mediante pruebas. A partir de ideas desarrolladas previamente en investigaciones sobre programación incremental certificada, realizadas por el estudiante de doctorado Tomás Díaz y el profesor Éric Tanter e investigadores de Inria Francia, la propuesta busca extender estas pruebas incluso a programas que aún tienen partes incompletas.

De esta manera, el sistema puede entregar información útil sobre el código que ya ha sido implementado, mientras otras secciones continúan en desarrollo. Cuando el programa está terminado, las pruebas funcionan de la manera habitual.

Una experiencia internacional

La participación de Pablo en ICFP fue también una oportunidad para conocer de cerca la comunidad internacional dedicada a los lenguajes de programación. Además de competir, presentó su investigación en el ML Family Workshop, donde realizó una exposición y demostración de 30 minutos y colaboró como estudiante voluntario, prestando apoyo en distintas tareas de organización de la conferencia.

“Fue una gran experiencia poder hablar con distintos investigadores, conocer gente y ver que hay todo un mundo de personas investigando sobre lenguajes de programación. Poder competir, presentar y explicar mis ideas fue algo muy valioso”, comenta.

Para el estudiante, esta fue su primera experiencia de este tipo durante el pregrado. Más allá del reconocimiento obtenido, destaca especialmente la posibilidad de intercambiar ideas con investigadores/as y estudiantes de distintas partes del mundo.

Su recomendación para quienes tengan interés en esta área es acercarse a profesores y profesoras e investigadores e investigadoras que trabajan en estos temas. “En lenguajes de programación existe una comunidad muy activa, con muchas oportunidades de investigación y desarrollo. Es algo totalmente posible si uno está motivado y le gustaría trabajar en esta área”, señala.