This paper presents eye2vec, an infrastructure for analyzing software developers' eye movements while reading source code. In common eye-tracking studies in program comprehension, researchers must preselect analysis targets such as control flow or syntactic elements, and then develop analysis methods to extract appropriate metrics from the fixation for source code. Here, researchers can define various levels of AOIs like words, lines, or code blocks, and the difference leads to different results. Moreover, the interpretation of fixation for word/line can vary across the purposes of the analyses. Hence, the eye-tracking analysis is a difficult task that depends on the time-consuming manual work of the researchers. eye2vec represents continuous two fixations as transitions between syntactic elements using distributed representations. The distributed representation facilitates the adoption of diverse data analysis methods with rich semantic interpretations.
- ID del Artículo: 2510.11722
- Título: eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis
- Autores: Haruhiko Yoshioka, Kazumasa Shimari, Hidetake Uwano, Kenichi Matsumoto
- Clasificación: cs.SE (Ingeniería de Software)
- Fecha de Publicación/Conferencia: ETRA '25 (2025 Symposium on Eye Tracking Research and Applications), 26–29 de mayo de 2025, Tokio, Japón
- Enlace del Artículo: https://arxiv.org/abs/2510.11722
Este artículo propone eye2vec, una infraestructura para analizar el comportamiento de los movimientos oculares de los desarrolladores de software al leer código fuente. En la investigación tradicional de seguimiento ocular para la comprensión de programas, los investigadores deben preseleccionar los objetivos de análisis (como flujo de control o elementos sintácticos) y luego desarrollar métodos para extraer métricas apropiadas de los puntos de fijación en el código fuente. Los investigadores pueden definir regiones de interés (AOI) en diferentes niveles, como palabras, líneas o bloques de código, lo que genera resultados diferentes. Además, la interpretación de los puntos de fijación de palabras/líneas varía según el propósito del análisis. Por lo tanto, el análisis de seguimiento ocular es una tarea difícil que depende del trabajo manual tedioso de los investigadores. eye2vec utiliza representaciones distribuidas para representar transiciones entre dos puntos de fijación consecutivos como transiciones entre elementos sintácticos. Las representaciones distribuidas facilitan la adopción de diversos métodos de análisis de datos con interpretaciones semánticas ricas.
El análisis tradicional de seguimiento ocular en la investigación de comprensión de programas enfrenta varios desafíos clave:
- Problema de Preselección de Objetivos de Análisis: Los investigadores deben determinar de antemano los elementos sintácticos o flujos de control específicos a analizar, una selección que depende en gran medida de la experiencia del investigador
- Subjetividad en la Definición de AOI: Las definiciones diferentes de regiones de interés (nivel de palabra, nivel de línea, nivel de bloque de código) conducen a resultados de análisis diferentes
- Limitaciones del Análisis Semántico Único: La investigación existente generalmente se enfoca en un único significado, lo que dificulta analizar múltiples capas semánticas simultáneamente
- Ineficiencia del Análisis Manual: Los métodos tradicionales requieren una intervención humana significativa y consumo de tiempo
La comprensión de los patrones de movimiento ocular de los desarrolladores es importante para:
- Extraer patrones y estrategias de comprensión de desarrolladores expertos
- Mejorar la eficiencia del desarrollo
- Mejorar la educación de desarrolladores
- Optimizar el diseño de legibilidad del código
Esto tiene una importancia significativa. Por ejemplo, en tareas de resumen de métodos, los desarrolladores expertos tienden a generar resúmenes basados en las líneas de código leídas con mayor frecuencia.
- Dependencia de la Experiencia del Investigador: La selección de métodos de análisis tiene una fuerte subjetividad
- Falta de Información Semántica: La asignación tradicional basada en coordenadas o números de línea carece de comprensión semántica
- Dificultad en Análisis Multidimensional: Es difícil considerar simultáneamente elementos sintácticos y significado estructural
- Bajo Grado de Automatización: Requiere una ingeniería de características manual significativa
- Propuesta de la Infraestructura eye2vec: El primer marco que combina datos de movimiento ocular con representaciones distribuidas de código fuente
- Implementación de Análisis de Movimiento Ocular a Nivel Semántico: A través de asignación de elementos sintácticos en lugar de asignación de coordenadas, soporta interpretación semántica multinivel
- Soporte para Análisis Multidimensional Automatizado: Utiliza representaciones distribuidas para capturar múltiples aspectos semánticos, soportando métodos de aprendizaje automático y aprendizaje profundo
- Provisión de Dos Escenarios de Aplicación Clave: Soporte para análisis de minería de datos y predicción de etiquetas basada en aprendizaje automático
Entrada: Datos de coordenadas de movimiento ocular cuando los desarrolladores leen código fuente y el código fuente correspondiente
Salida: Vectores distribuidos que representan características de movimiento ocular (eye vector)
Objetivo: Convertir datos de movimiento ocular basados en coordenadas en representaciones distribuidas con significado semántico
eye2vec contiene los siguientes módulos principales:
- Función: Convertir coordenadas registradas por el rastreador ocular en números de línea y columna en el código fuente
- Implementación: Utiliza la herramienta iTrace para la asignación de coordenadas a posiciones de código
- Función: Extraer contextos de ruta del código fuente
- Mecanismo: Los contextos de ruta se refieren a rutas entre dos palabras en el árbol de sintaxis abstracta (AST)
- Salida: Contextos de ruta y sus vectores de incrustación preentrenados correspondientes
- Función: Asociar números de línea y columna con contextos de ruta
- Procesamiento: Convertir datos de movimiento ocular en vectores de contexto de ruta y conteos de fijación
- Innovación: Convertir conteos de fijación en proporciones que reflejen características del desarrollador
- Función: Agregar vectores y conteos de fijación para generar el eye vector final
- Mecanismo de Ponderación: Aplicar pesos a vectores de incrustación según la frecuencia de fijación
- Salida: Representación distribuida final que representa características de movimiento ocular
- Innovación: Transición de asignación de coordenadas a asignación de elementos sintácticos
- Ventajas: Capacidad para interpretar patrones de movimiento ocular en estructuras de código complejas (bucles, ramificaciones)
- Mecanismo: Ponderar vectores de contexto de ruta según la frecuencia de fijación
- Efecto: Destacar relaciones semánticas importantes en las que se enfoca el desarrollador
- Capacidad: Soportar simultáneamente análisis semántico de alto nivel (estrategias de comprensión) y análisis de bajo nivel (seguimiento de operaciones de variables)
- Implementación: Integrar relaciones de múltiples contextos de ruta a través de representaciones distribuidas
- Datos de Movimiento Ocular: Coordenadas de puntos de fijación cuando los desarrolladores leen código fuente
- Código Fuente: Archivos de programa correspondientes
- Restricciones: La versión actual solo acepta entrada de datos de movimiento ocular, sin asociación de información personal
- Coordenadas de movimiento ocular → Posición de línea y columna de código
- Código fuente → Contextos de ruta AST
- Asociación de información de posición con contextos de ruta
- Generación de representación distribuida ponderada
- Capacidad: Soportar análisis exploratorio de minería de datos
- Ventajas: Proporciona información semántica más rica en comparación con análisis tradicionales basados en coordenadas
- Aplicación: Investigar el significado potencial de tendencias en grupos de elementos sintácticos semánticamente similares
- Tarea: Predecir características del desarrollador basadas en datos de movimiento ocular
- Objetivos de Predicción:
- Nivel de competencia del desarrollador en lenguajes específicos
- Nivel de comprensión del programa
- Aplicación Educativa: Proporcionar soporte de enseñanza adaptativa para desarrolladores individuales
- Similitud del Espacio Vectorial: Capacidad para medir similitud entre patrones de comprensión
- Grado de Automatización: Soporta análisis automático usando técnicas de aprendizaje automático y aprendizaje profundo
- Análisis Multidimensional: Considerar simultáneamente múltiples capas semánticas
- Abid et al. (2019): Análisis de movimiento ocular en tareas de resumen de métodos, descubriendo que expertos generan resúmenes basados en líneas leídas frecuentemente
- Lin et al. (2016): Seguimiento de procesos cognitivos durante la depuración de programas
- Sharafi et al. (2022): Investigación de estrategias de navegación de código de desarrolladores
- code2vec (Alon et al. 2019): Método de aprendizaje de representación distribuida de código
- iTrace (Guarnera et al. 2018): Infraestructura de seguimiento ocular en entornos de desarrollo
- Comprensión Semántica: Supera la asignación de coordenadas tradicional, proporcionando análisis a nivel semántico
- Automatización: Reduce la dependencia de la experiencia del investigador
- Multidimensionalidad: Soporta análisis simultáneo de múltiples capas semánticas
- eye2vec implementa exitosamente la representación distribuida a nivel semántico de datos de movimiento ocular
- El método soporta análisis semántico multidimensional automatizado
- Proporciona una nueva infraestructura y paradigma de análisis para la investigación de seguimiento ocular
- Restricciones de Protección de Privacidad: La versión actual solo acepta datos de movimiento ocular, sin asociación de información personal
- Dependencia de Modelos Preentrenados: Requiere modelos de representación de código preentrenados como code2vec
- Verificación Insuficiente: Falta verificación empírica a gran escala y comparación sistemática con métodos tradicionales
- Desarrollo de Herramientas de Aplicación: Construir herramientas de aplicación de aprendizaje automático y aprendizaje profundo basadas en eye2vec
- Extracción Automática de Patrones: Soportar la extracción eficiente de patrones de comprensión útiles por parte de investigadores
- Expansión de Escenarios de Aplicación: Explorar aplicaciones en más tareas de comprensión de programas
- Cambio de Paradigma: Transición importante de asignación de coordenadas a asignación semántica
- Fusión Técnica: Combinación ingeniosa de seguimiento ocular y aprendizaje de representación de código
- Mejora de Automatización: Reducción significativa de la necesidad de intervención manual
- Análisis Multinivel: Soporta simultáneamente análisis semántico de alto y bajo nivel
- Representación Distribuida: Introduce métodos modernos de aprendizaje de representación al análisis de movimiento ocular
- Escalabilidad: Proporciona infraestructura base reutilizable para investigación posterior
- Aplicación Educativa: Soporta educación personalizada de desarrolladores
- Mejora de Eficiencia: El análisis automatizado reduce costos de investigación
- Estandarización: Proporciona un marco de análisis unificado
- Falta de Experimentos Comparativos: Sin comparación sistemática de rendimiento con métodos tradicionales
- Datos de Verificación Limitados: Falta verificación en conjuntos de datos a gran escala
- Falta de Cuantificación de Efectos: No proporciona datos específicos de mejora de rendimiento
- Falta de Configuración de Parámetros: No especifica detalladamente hiperparámetros clave
- Falta de Análisis de Complejidad: No analiza complejidad computacional y eficiencia
- Robustez Desconocida: La adaptabilidad a diferentes tipos de código no ha sido verificada
- Restricciones de Privacidad: El diseño actual limita ciertos escenarios de aplicación
- Dependencia Fuerte: Depende de múltiples herramientas externas y modelos preentrenados
- Capacidad de Generalización Desconocida: El rendimiento en diferentes lenguajes de programación no ha sido verificado
- Nueva Dirección de Investigación: Abre nuevos caminos para la investigación de seguimiento ocular
- Innovación Metodológica: Proporciona un marco de análisis reutilizable
- Fusión Interdisciplinaria: Conecta ingeniería de software y ciencia cognitiva
- Desarrollo de Herramientas: Proporciona base para desarrollo de herramientas relacionadas
- Establecimiento de Estándares: Tiene potencial para convertirse en método estándar del campo
- Aplicación Industrial: Tiene perspectivas de aplicación en capacitación de desarrolladores y optimización de código
- Investigación de Comprensión de Programas: Proporciona nuevas herramientas para investigación de procesos cognitivos
- Análisis de Comportamiento de Desarrolladores: Soporta investigación de comportamiento de desarrolladores a gran escala
- Investigación Educativa: Evaluación y optimización de efectividad de educación en programación
- Optimización de IDE: Mejora la experiencia del usuario de entornos de desarrollo integrados
- Revisión de Código: Asiste en la evaluación de legibilidad del código
- Sistemas de Capacitación: Evaluación de habilidades de desarrolladores y capacitación personalizada
- Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code - Proporciona la base técnica para representación distribuida de código
- Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments - Proporciona soporte técnico para seguimiento ocular
- Abid et al. (2019): Developer reading behavior while summarizing Java methods - Demuestra el valor de aplicación del análisis de movimiento ocular en comprensión de programas
- Lin et al. (2016): Seguimiento de procesos cognitivos en depuración de programas
- Sharafi et al. (2022): Investigación de estrategias de navegación de código de desarrolladores
Evaluación General: Este es un artículo de infraestructura innovador que propone un nuevo método que combina datos de movimiento ocular con representaciones semánticas de código. Aunque la verificación experimental requiere fortalecimiento, su innovación técnica y potencial de aplicación merecen atención. Este método proporciona un nuevo camino técnico para la investigación de análisis de movimiento ocular en comprensión de programas, con potencial para impulsar el desarrollo de campos relacionados.