Escudo de la República de Colombia
Imagen: Unsplash — Chris Ried

Línea de investigación

Lenguajes de programación

Exploramos aspectos teóricos y prácticos de la creación de lenguajes de programación.

¿Cómo pueden los lenguajes y las herramientas de programación facilitar la construcción y comprensión del software? En el grupo PLaS estudiamos el diseño, la implementación y el uso de lenguajes de propósito general y de dominio específico, así como el análisis y la transformación automática del código. Nos interesa conectar los fundamentos de los lenguajes con problemas del desarrollo y mantenimiento de software.

Desarrollamos métodos para expresar requisitos, generar prototipos, analizar programas y extraer conocimiento de colecciones de código y de la información que producen las comunidades de desarrolladores. Combinamos técnicas de compilación, análisis de software, procesamiento del lenguaje natural y aprendizaje automático para apoyar estas tareas.

Mapa de temas
Análisis de códigoLegibilidadIR multimodalAnálisis estáticoReputaciónPrototipado NLPLN / NLPAgentes e IASeguridad

Temas

Lenguajes de propósito general y de dominio específico (DSL)Sin trabajos registrados

Estudiamos cómo definir e implementar lenguajes que permitan expresar soluciones de manera clara y adecuada a cada problema. Nos interesan tanto los lenguajes de propósito general como los lenguajes de dominio específico (DSL), que incorporan conceptos y reglas de un ámbito particular. Investigamos técnicas de análisis y traducción para construir procesadores de lenguaje y herramientas que conecten estas representaciones con programas ejecutables.

Trabajos activos

Sin trabajos desde 2024.

Lenguajes para el ciclo de vida del software7 trabajos

Exploramos lenguajes de especificación y modelado que apoyen las distintas etapas del desarrollo de software, desde la definición de requisitos hasta la construcción y evolución de las aplicaciones. Nos interesa facilitar la comunicación de requisitos y su transformación en modelos y código que permitan validar tempranamente una solución.

Análisis y manipulación automática de código4 trabajos

Desarrollamos métodos para examinar la estructura y las características del código, identificar patrones y realizar transformaciones automáticas. Estudiamos aplicaciones que combinan análisis estáticos y representaciones del código con técnicas de aprendizaje automático para apoyar su comprensión, comparación y mejora, y para construir herramientas de asistencia al desarrollo.

Trabajos activos

Sin trabajos desde 2024. Los anteriores están en la trayectoria.

Analítica de software / Big Code7 trabajos

Investigamos cómo extraer conocimiento de grandes colecciones de código, repositorios y espacios de colaboración entre desarrolladores. Aplicamos minería de datos, procesamiento del lenguaje natural y aprendizaje automático para relacionar el código con la información que lo acompaña. Nos interesa comprender patrones de desarrollo y aprovecharlos para facilitar la búsqueda, clasificación y reutilización de conocimiento sobre software.

Trabajos activos

Sin trabajos desde 2024. Los anteriores están en la trayectoria.

Trayectoria

  1. 2026

  2. 2025

  3. 2024

  4. 2023

  5. 2020

  6. 2019

  7. 2018

  8. 2017

  9. 2016