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 : Apprentissage de Représentations Distribuées des Mouvements Oculaires pour l'Analyse de la Compréhension de Programmes

Informations Fondamentales

  • ID de l'article : 2510.11722
  • Titre : eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis
  • Auteurs : Haruhiko Yoshioka, Kazumasa Shimari, Hidetake Uwano, Kenichi Matsumoto
  • Classification : cs.SE (Génie Logiciel)
  • Date de publication/Conférence : ETRA '25 (2025 Symposium on Eye Tracking Research and Applications), 26-29 mai 2025, Tokyo, Japon
  • Lien de l'article : https://arxiv.org/abs/2510.11722

Résumé

Cet article propose eye2vec, une infrastructure destinée à analyser le comportement oculomoteur des développeurs de logiciels lors de la lecture du code source. Dans les recherches traditionnelles sur le suivi oculaire pour la compréhension de programmes, les chercheurs doivent préalablement sélectionner les cibles d'analyse (telles que le flux de contrôle ou les éléments syntaxiques), puis développer des méthodes d'analyse pour extraire les mesures appropriées à partir des points de fixation du code source. Les chercheurs peuvent définir des régions d'intérêt (AOI) à différents niveaux, tels que les mots, les lignes ou les blocs de code, ces différences entraînant des résultats distincts. De plus, l'interprétation des points de fixation au niveau des mots/lignes varie selon l'objectif de l'analyse. Par conséquent, l'analyse du suivi oculaire est une tâche difficile, dépendant du travail manuel chronophage des chercheurs. eye2vec utilise des représentations distribuées pour représenter les transitions entre deux points de fixation consécutifs en tant que transitions entre éléments syntaxiques. Les représentations distribuées facilitent l'adoption de méthodes d'analyse de données diversifiées, offrant des interprétations sémantiques riches.

Contexte et Motivation de la Recherche

Définition du Problème

L'analyse traditionnelle du suivi oculaire dans la recherche sur la compréhension de programmes fait face à plusieurs défis clés :

  1. Problème de présélection de la cible d'analyse : Les chercheurs doivent déterminer à l'avance les éléments syntaxiques ou le flux de contrôle spécifiques à analyser, cette sélection dépendant largement de l'expérience du chercheur
  2. Subjectivité de la définition des AOI : Différentes définitions de régions d'intérêt (au niveau des mots, des lignes, des blocs de code) entraînent des résultats d'analyse différents
  3. Limitations de l'analyse sémantique unique : Les recherches existantes se concentrent généralement sur une seule signification, ce qui rend difficile l'analyse simultanée de plusieurs niveaux sémantiques
  4. Inefficacité de l'analyse manuelle : Les méthodes traditionnelles nécessitent une intervention humaine importante et consommatrice de temps

Importance de la Recherche

La compréhension des modèles oculomoteurs des développeurs est importante pour :

  • Extraire les modèles et stratégies de compréhension des développeurs experts
  • Améliorer l'efficacité du développement
  • Améliorer l'éducation des développeurs
  • Optimiser la conception de la lisibilité du code

Par exemple, dans les tâches de résumé de méthodes, les développeurs experts ont tendance à générer des résumés basés sur les lignes de code les plus fréquemment lues.

Limitations des Méthodes Existantes

  1. Dépendance à l'expérience du chercheur : Le choix de la méthode d'analyse est fortement subjectif
  2. Absence d'informations sémantiques : Le mappage traditionnel basé sur les coordonnées ou les numéros de ligne manque de compréhension sémantique
  3. Difficulté d'analyse multidimensionnelle : Difficile de considérer simultanément les éléments syntaxiques et la signification structurelle
  4. Faible degré d'automatisation : Nécessite une importante ingénierie des caractéristiques manuelles

Contributions Principales

  1. Proposition de l'infrastructure eye2vec : Premier cadre combinant les données de suivi oculaire avec les représentations distribuées du code source
  2. Réalisation de l'analyse oculomotrice au niveau sémantique : Grâce au mappage des éléments syntaxiques plutôt qu'au mappage des coordonnées, soutenant les interprétations sémantiques multicouches
  3. Soutien de l'analyse multidimensionnelle automatisée : Utilisant des représentations distribuées pour capturer plusieurs aspects sémantiques, soutenant les méthodes d'apprentissage automatique et d'apprentissage profond
  4. Fourniture de deux scénarios d'application clés : Soutien de l'analyse d'exploration de données et prédiction d'étiquettes basée sur l'apprentissage automatique

Explication Détaillée de la Méthode

Définition de la Tâche

Entrée : Données de coordonnées oculomotrices lors de la lecture du code source par un développeur et code source correspondant Sortie : Vecteurs distribuées représentant les caractéristiques oculomotrices (vecteur oculaire) Objectif : Convertir les données oculomotrices basées sur les coordonnées en représentations distribuées ayant une signification sémantique

Architecture du Modèle

eye2vec contient les modules principaux suivants :

1. Convertisseur de Coordonnées Ligne/Colonne

  • Fonction : Convertir les coordonnées enregistrées par le suivi oculaire en numéros de ligne et de colonne dans le code source
  • Implémentation : Utilisation de l'outil iTrace pour le mappage des coordonnées aux positions du code

2. Intégration de code2vec

  • Fonction : Extraire les contextes de chemin du code source
  • Mécanisme : Les contextes de chemin désignent les chemins entre deux mots sur l'arbre de syntaxe abstraite (AST)
  • Sortie : Contextes de chemin et leurs vecteurs d'intégration préentraînés correspondants

3. Éditeur de Lien Arbre de Syntaxe/Oculaire

  • Fonction : Associer les numéros de ligne et de colonne aux contextes de chemin
  • Traitement : Convertir les données oculomotrices en vecteurs de contextes de chemin et en comptages de fixations
  • Innovation : Convertir les comptages de fixations en proportions, reflétant les caractéristiques du développeur

4. Compresseur de Vecteurs

  • Fonction : Agréger les vecteurs et les comptages de fixations pour générer le vecteur oculaire final
  • Mécanisme de Pondération : Appliquer des poids aux vecteurs d'intégration selon la fréquence de fixation
  • Sortie : Représentation distribuée finale représentant les caractéristiques oculomotrices

Points d'Innovation Technique

1. Représentation Oculomotrice au Niveau Sémantique

  • Innovation : Transition du mappage des coordonnées au mappage des éléments syntaxiques
  • Avantages : Capacité à interpréter les modèles oculomoteurs dans les structures de code complexes (boucles, branches)

2. Pondération du Contexte de Chemin

  • Mécanisme : Pondération des vecteurs de contexte de chemin en fonction de la fréquence de fixation
  • Effet : Mettre en évidence les relations sémantiques importantes auxquelles le développeur prête attention

3. Capture Sémantique Multicouche

  • Capacité : Soutenir simultanément l'analyse sémantique de haut niveau (stratégies de compréhension) et l'analyse de bas niveau (suivi des opérations sur les variables)
  • Implémentation : Intégration des relations de plusieurs contextes de chemin par le biais de représentations distribuées

Configuration Expérimentale

Entrées de Données

  • Données oculomotrices : Coordonnées des points de fixation lors de la lecture du code source par les développeurs
  • Code source : Fichiers de programme source correspondants
  • Contraintes : La version actuelle n'accepte que les données de suivi oculaire en entrée, sans association d'informations personnelles

Flux de Traitement

  1. Coordonnées oculomotrices → Positions ligne/colonne du code
  2. Code source → Contextes de chemin AST
  3. Association des informations de position avec les contextes de chemin
  4. Génération de représentations distribuées pondérées

Résultats Expérimentaux

Vérification des Scénarios d'Application

1. Soutien de l'Analyse d'Exploration de Données

  • Capacité : Soutenir l'analyse exploratoire d'exploration de données
  • Avantages : Comparé à l'analyse traditionnelle basée sur les coordonnées, fournir des informations sémantiques plus riches
  • Application : Enquête sur la signification potentielle des tendances dans les groupes d'éléments syntaxiques sémantiquement similaires

2. Prédiction d'Étiquettes par Apprentissage Automatique

  • Tâche : Prédire les caractéristiques des développeurs en fonction des données oculomotrices
  • Cibles de prédiction :
    • Niveau de compétence du développeur dans un langage spécifique
    • Niveau de compréhension du programme
  • Application Éducative : Fournir un soutien pédagogique adaptatif aux développeurs individuels

Vérification Technique

  • Similarité de l'espace vectoriel : Capacité à mesurer la similarité entre les modèles de compréhension
  • Degré d'automatisation : Soutien des techniques d'apprentissage automatique et d'apprentissage profond pour l'analyse automatisée
  • Analyse multidimensionnelle : Considération simultanée de plusieurs niveaux sémantiques

Travaux Connexes

Recherches Traditionnelles sur l'Analyse Oculomotrice

  1. Abid et al. (2019) : Analyse oculomotrice dans les tâches de résumé de méthodes, découvrant que les experts génèrent des résumés basés sur les lignes les plus fréquemment lues
  2. Lin et al. (2016) : Suivi des processus cognitifs lors du débogage de programmes
  3. Sharafi et al. (2022) : Recherche sur les stratégies de navigation du code des développeurs

Fondements Techniques

  1. code2vec (Alon et al. 2019) : Méthode d'apprentissage de représentations distribuées du code
  2. iTrace (Guarnera et al. 2018) : Infrastructure de suivi oculaire dans les environnements de développement

Avantages de Cet Article

  • Compréhension sémantique : Dépassement du mappage des coordonnées traditionnel, fournissant une analyse au niveau sémantique
  • Automatisation : Réduction de la dépendance à l'expérience du chercheur
  • Multidimensionnalité : Soutien de l'analyse simultanée de plusieurs niveaux sémantiques

Conclusion et Discussion

Conclusions Principales

  1. eye2vec a réussi à réaliser une représentation distribuée au niveau sémantique des données oculomotrices
  2. Cette méthode soutient l'analyse sémantique multidimensionnelle automatisée
  3. Elle fournit une nouvelle infrastructure et un nouveau paradigme d'analyse pour la recherche sur le suivi oculaire

Limitations

  1. Contraintes de protection de la vie privée : La version actuelle n'accepte que les données de suivi oculaire, sans association d'informations personnelles
  2. Dépendance aux modèles préentraînés : Nécessite des modèles de représentation de code préentraînés tels que code2vec
  3. Validation insuffisante : Manque de validation empirique à grande échelle et de comparaison systématique avec les méthodes traditionnelles

Directions Futures

  1. Développement d'outils d'application : Construction d'outils d'application d'apprentissage automatique et d'apprentissage profond basés sur eye2vec
  2. Extraction automatique de modèles : Soutien de l'extraction efficace de modèles de compréhension utiles par les chercheurs
  3. Expansion des scénarios d'application : Exploration d'applications dans davantage de tâches de compréhension de programmes

Évaluation Approfondie

Points Forts

1. Innovativité de la Méthode

  • Changement de paradigme : Transition importante du mappage des coordonnées au mappage sémantique
  • Fusion technologique : Combinaison ingénieuse du suivi oculaire et de l'apprentissage de représentations de code
  • Amélioration de l'automatisation : Réduction significative du besoin d'intervention manuelle

2. Contributions Théoriques

  • Analyse multicouche : Soutien simultané de l'analyse sémantique de haut et bas niveau
  • Représentations distribuées : Introduction de méthodes modernes d'apprentissage de représentations pour l'analyse oculomotrice
  • Extensibilité : Fourniture d'une infrastructure générique pour les recherches ultérieures

3. Valeur Pratique

  • Applications éducatives : Soutien de l'éducation personnalisée des développeurs
  • Amélioration de l'efficacité : L'analyse automatisée réduit les coûts de recherche
  • Normalisation : Fourniture d'un cadre d'analyse unifié

Insuffisances

1. Validation Expérimentale Insuffisante

  • Manque d'expériences comparatives : Absence de comparaison systématique des performances avec les méthodes traditionnelles
  • Données de validation limitées : Manque de validation sur des ensembles de données à grande échelle
  • Absence de quantification des effets : Pas de données concrètes d'amélioration des performances

2. Détails Techniques Incomplets

  • Paramètres manquants : Absence de description détaillée des hyperparamètres clés
  • Analyse de complexité insuffisante : Pas d'analyse de la complexité computationnelle et de l'efficacité
  • Robustesse inconnue : Capacité d'adaptation à différents types de code non vérifiée

3. Limitations des Scénarios d'Application

  • Contraintes de confidentialité : La conception actuelle limite certains scénarios d'application
  • Dépendance forte : Dépendance à plusieurs outils externes et modèles préentraînés
  • Capacité de généralisation inconnue : Performance sur différents langages de programmation non vérifiée

Impact

1. Contributions Académiques

  • Nouvelles directions de recherche : Ouverture de nouvelles voies pour la recherche sur le suivi oculaire
  • Innovation méthodologique : Fourniture d'un cadre d'analyse réutilisable
  • Fusion interdisciplinaire : Connexion du génie logiciel et des sciences cognitives

2. Potentiel Pratique

  • Développement d'outils : Fourniture de fondations pour le développement d'outils connexes
  • Établissement de normes : Potentiel de devenir une méthode standard du domaine
  • Applications industrielles : Perspectives d'application dans la formation des développeurs et l'optimisation du code

Scénarios d'Application

1. Applications de Recherche

  • Recherche sur la compréhension de programmes : Fourniture de nouveaux outils pour l'étude des processus cognitifs
  • Analyse du comportement des développeurs : Soutien de la recherche à grande échelle sur le comportement des développeurs
  • Recherche éducative : Évaluation et optimisation de l'efficacité de l'éducation à la programmation

2. Applications Pratiques

  • Optimisation des IDE : Amélioration de l'expérience utilisateur des environnements de développement intégrés
  • Révision de code : Assistance à l'évaluation de la lisibilité du code
  • Systèmes de formation : Évaluation des compétences des développeurs et formation personnalisée

Références

Références Principales

  1. Alon et al. (2019) : Code2Vec: Learning Distributed Representations of Code - Fournit les fondations techniques pour les représentations distribuées du code
  2. Guarnera et al. (2018) : ITrace: Eye Tracking Infrastructure for Development Environments - Fournit le soutien technique pour le suivi oculaire
  3. Abid et al. (2019) : Developer reading behavior while summarizing Java methods - Démontre la valeur de l'application du suivi oculaire dans la compréhension de programmes

Littérature de Domaines Connexes

  • Lin et al. (2016) : Suivi des processus cognitifs lors du débogage de programmes
  • Sharafi et al. (2022) : Recherche sur les stratégies de navigation du code des développeurs

Évaluation Globale : Ceci est un article d'infrastructure innovant qui propose une nouvelle méthode combinant les données de suivi oculaire avec les représentations sémantiques du code. Bien que la validation expérimentale nécessite des améliorations, son innovation technologique et son potentiel d'application méritent attention. Cette méthode fournit une nouvelle voie technique pour la recherche sur l'analyse oculomotrice de la compréhension de programmes et devrait promouvoir le développement des domaines connexes.