2025-11-20T04:49:14.340151

eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis

Yoshioka, Shimari, Uwano et al.
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.
academic

eye2vec: Aprendizaje de Representaciones Distribuidas de Movimientos Oculares para el Análisis de Comprensión de Programas

Información Básica

  • 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

Resumen

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.

Contexto de Investigación y Motivación

Definición del Problema

El análisis tradicional de seguimiento ocular en la investigación de comprensión de programas enfrenta varios desafíos clave:

  1. 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
  2. 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
  3. 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
  4. Ineficiencia del Análisis Manual: Los métodos tradicionales requieren una intervención humana significativa y consumo de tiempo

Importancia de la Investigación

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.

Limitaciones de Métodos Existentes

  1. Dependencia de la Experiencia del Investigador: La selección de métodos de análisis tiene una fuerte subjetividad
  2. 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
  3. Dificultad en Análisis Multidimensional: Es difícil considerar simultáneamente elementos sintácticos y significado estructural
  4. Bajo Grado de Automatización: Requiere una ingeniería de características manual significativa

Contribuciones Principales

  1. Propuesta de la Infraestructura eye2vec: El primer marco que combina datos de movimiento ocular con representaciones distribuidas de código fuente
  2. 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
  3. 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
  4. 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

Explicación Detallada del Método

Definición de la Tarea

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

Arquitectura del Modelo

eye2vec contiene los siguientes módulos principales:

1. Convertidor de Coordenadas Línea/Columna

  • 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

2. Integración de code2vec

  • 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

3. Vinculador de Árbol de Sintaxis/Ojo

  • 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

4. Compresor de Vectores

  • 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

Puntos de Innovación Técnica

1. Representación de Movimiento Ocular a Nivel Semántico

  • 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)

2. Ponderación de Contexto de Ruta

  • 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

3. Captura Semántica Multinivel

  • 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

Configuración Experimental

Entrada de Datos

  • 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

Flujo de Procesamiento

  1. Coordenadas de movimiento ocular → Posición de línea y columna de código
  2. Código fuente → Contextos de ruta AST
  3. Asociación de información de posición con contextos de ruta
  4. Generación de representación distribuida ponderada

Resultados Experimentales

Verificación de Escenarios de Aplicación

1. Soporte para Análisis de Minería de Datos

  • 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

2. Predicción de Etiquetas de Aprendizaje Automático

  • 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

Verificación Técnica

  • 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

Trabajo Relacionado

Investigación Tradicional de Análisis de Movimiento Ocular

  1. 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
  2. Lin et al. (2016): Seguimiento de procesos cognitivos durante la depuración de programas
  3. Sharafi et al. (2022): Investigación de estrategias de navegación de código de desarrolladores

Fundamentos Técnicos

  1. code2vec (Alon et al. 2019): Método de aprendizaje de representación distribuida de código
  2. iTrace (Guarnera et al. 2018): Infraestructura de seguimiento ocular en entornos de desarrollo

Ventajas de Este Artículo

  • 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

Conclusiones y Discusión

Conclusiones Principales

  1. eye2vec implementa exitosamente la representación distribuida a nivel semántico de datos de movimiento ocular
  2. El método soporta análisis semántico multidimensional automatizado
  3. Proporciona una nueva infraestructura y paradigma de análisis para la investigación de seguimiento ocular

Limitaciones

  1. Restricciones de Protección de Privacidad: La versión actual solo acepta datos de movimiento ocular, sin asociación de información personal
  2. Dependencia de Modelos Preentrenados: Requiere modelos de representación de código preentrenados como code2vec
  3. Verificación Insuficiente: Falta verificación empírica a gran escala y comparación sistemática con métodos tradicionales

Direcciones Futuras

  1. Desarrollo de Herramientas de Aplicación: Construir herramientas de aplicación de aprendizaje automático y aprendizaje profundo basadas en eye2vec
  2. Extracción Automática de Patrones: Soportar la extracción eficiente de patrones de comprensión útiles por parte de investigadores
  3. Expansión de Escenarios de Aplicación: Explorar aplicaciones en más tareas de comprensión de programas

Evaluación Profunda

Fortalezas

1. Innovación del Método

  • 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

2. Contribución Teórica

  • 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

3. Valor Práctico

  • 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

Deficiencias

1. Verificación Experimental Insuficiente

  • 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

2. Detalles Técnicos Incompletos

  • 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

3. Limitaciones de Escenarios de Aplicación

  • 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

Impacto

1. Contribución Académica

  • 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

2. Potencial Práctico

  • 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

Escenarios Aplicables

1. Aplicaciones de Investigación

  • 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

2. Aplicaciones Prácticas

  • 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

Referencias

Referencias Principales

  1. Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code - Proporciona la base técnica para representación distribuida de código
  2. Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments - Proporciona soporte técnico para seguimiento ocular
  3. 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

Literatura de Campos Relacionados

  • 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.