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: Erlernen verteilter Repräsentationen von Augenbewegungen zur Analyse des Programmverständnisses

Grundlegende Informationen

  • Paper-ID: 2510.11722
  • Titel: eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis
  • Autoren: Haruhiko Yoshioka, Kazumasa Shimari, Hidetake Uwano, Kenichi Matsumoto
  • Klassifizierung: cs.SE (Softwaretechnik)
  • Veröffentlichungszeit/Konferenz: ETRA '25 (2025 Symposium on Eye Tracking Research and Applications), 26.–29. Mai 2025, Tokio, Japan
  • Paper-Link: https://arxiv.org/abs/2510.11722

Zusammenfassung

In diesem Artikel wird eye2vec vorgestellt, eine Infrastruktur zur Analyse des Augenbewegungsverhaltens von Softwareentwicklern beim Lesen von Quellcode. In der traditionellen Augenverfolgungsforschung zum Programmverständnis müssen Forscher vorab Analyseziele auswählen (z. B. Kontrollfluss oder Syntaxelemente) und dann Analysemethoden entwickeln, um geeignete Metriken aus Fixationspunkten des Quellcodes zu extrahieren. Forscher können Interessensbereiche (AOI) auf verschiedenen Ebenen definieren, wie Wörter, Zeilen oder Codeblöcke, wobei diese Unterschiede zu unterschiedlichen Ergebnissen führen. Darüber hinaus variiert die Interpretation von Wort-/Zeilenfixationen je nach Analysezweck. Daher ist die Augenverfolgungsanalyse eine schwierige Aufgabe, die auf zeitaufwändiger manueller Arbeit durch Forscher beruht. eye2vec verwendet verteilte Repräsentationen, um aufeinanderfolgende Fixationspunkte als Übergänge zwischen Syntaxelementen darzustellen. Verteilte Repräsentationen fördern die Einführung vielfältiger Datenanalysemethoden mit reichhaltiger semantischer Interpretation.

Forschungshintergrund und Motivation

Problembeschreibung

Die traditionelle Augenverfolgungsanalyse in der Programmverständnisforschung steht vor mehreren Schlüsselherausforderungen:

  1. Problem der Vorauswahl von Analysezielen: Forscher müssen vorab bestimmte Syntaxelemente oder Kontrollflüsse zur Analyse festlegen, wobei diese Auswahl stark von der Erfahrung des Forschers abhängt
  2. Subjektivität der AOI-Definition: Unterschiedliche Definitionen von Interessensbereichen (Wort-, Zeilen-, Codeblock-Ebene) führen zu unterschiedlichen Analyseergebnissen
  3. Einschränkungen der einzelnen semantischen Analyse: Bestehende Forschung konzentriert sich typischerweise auf eine einzelne Bedeutung und kann mehrere semantische Ebenen nicht gleichzeitig analysieren
  4. Ineffizienz der manuellen Analyse: Traditionelle Methoden erfordern umfangreiche manuelle Eingriffe und Zeitaufwand

Forschungsbedeutung

Das Verständnis der Augenbewegungsmuster von Entwicklern ist wichtig für:

  • Extrahieren von Verständnismustern und Strategien von Expertentwicklern
  • Verbesserung der Entwicklungseffizienz
  • Verbesserung der Entwicklerausbildung
  • Optimierung des Codelesbarkeitsdesigns

Dies ist von großer Bedeutung. Beispielsweise neigen Expertentwickler bei Aufgaben zur Methodenzusammenfassung dazu, Zusammenfassungen basierend auf den am häufigsten gelesenen Codezeilen zu generieren.

Einschränkungen bestehender Methoden

  1. Abhängigkeit von Forscherexpertise: Die Auswahl der Analysemethode ist stark subjektiv
  2. Fehlende semantische Informationen: Traditionelle koordinaten- oder zeilenbasierte Zuordnungen ermangeln semantischen Verständnis
  3. Schwierigkeiten bei mehrdimensionaler Analyse: Schwierig, Syntaxelemente und strukturelle Bedeutung gleichzeitig zu berücksichtigen
  4. Niedriger Automatisierungsgrad: Erfordert umfangreiche manuelle Feature-Engineering

Kernbeiträge

  1. Vorstellung der eye2vec-Infrastruktur: Erstes Framework, das Augenbewegungsdaten mit verteilten Repräsentationen von Quellcode kombiniert
  2. Implementierung semantischer Augenbewegungsanalyse: Durch Syntaxelement-Zuordnung statt Koordinaten-Zuordnung, unterstützt mehrschichtige semantische Interpretation
  3. Unterstützung automatisierter mehrdimensionaler Analyse: Nutzt verteilte Repräsentationen zur Erfassung mehrerer semantischer Aspekte, unterstützt maschinelles Lernen und Deep-Learning-Methoden
  4. Bereitstellung zweier wichtiger Anwendungsszenarien: Unterstützung für Data-Mining-Analyse und auf maschinellem Lernen basierende Label-Vorhersage

Methodische Details

Aufgabendefinition

Eingabe: Augenbewegungskoordinatendaten von Entwicklern beim Lesen von Quellcode und entsprechender Quellcode Ausgabe: Verteilte Vektoren, die Augenbewegungsmerkmale darstellen (Eye Vector) Ziel: Umwandlung koordinatenbasierter Augenbewegungsdaten in semantisch bedeutungsvolle verteilte Repräsentationen

Modellarchitektur

eye2vec enthält die folgenden Kernmodule:

1. Coordinate Line/Column Converter

  • Funktion: Umwandlung der vom Augenverfolgungsgerät aufgezeichneten Koordinaten in Zeilen- und Spaltennummern im Quellcode
  • Implementierung: Verwendung des iTrace-Tools für die Koordinaten-zu-Code-Position-Zuordnung

2. code2vec-Integration

  • Funktion: Extrahieren von Pfadkontexten aus Quellcode
  • Mechanismus: Pfadkontexte beziehen sich auf Pfade zwischen zwei Wörtern im abstrakten Syntaxbaum (AST)
  • Ausgabe: Pfadkontexte und ihre entsprechenden vortrainierten Einbettungsvektoren

3. Syntax Tree/Eye Linker

  • Funktion: Verknüpfung von Zeilen- und Spaltennummern mit Pfadkontexten
  • Verarbeitung: Umwandlung von Augenbewegungsdaten in Vektoren von Pfadkontexten und Fixationszählungen
  • Innovation: Umwandlung von Fixationszählungen in Verhältnisse, die Entwicklermerkmale widerspiegeln

4. Vector Compressor

  • Funktion: Aggregation von Vektoren und Fixationszählungen zur Generierung des endgültigen Eye Vector
  • Gewichtungsmechanismus: Anwendung von Gewichtungen auf Einbettungsvektoren basierend auf Fixationshäufigkeit
  • Ausgabe: Endgültige verteilte Repräsentation, die Augenbewegungsmerkmale darstellt

Technische Innovationspunkte

1. Semantische Augenbewegungsrepräsentation

  • Innovation: Übergang von Koordinaten-Zuordnung zu Syntaxelement-Zuordnung
  • Vorteil: Ermöglicht die Interpretation von Augenbewegungsmustern in komplexen Codestrukturen (Schleifen, Verzweigungen)

2. Gewichtung von Pfadkontexten

  • Mechanismus: Gewichtung von Pfadkontext-Vektoren basierend auf Fixationshäufigkeit
  • Effekt: Hervorhebung der wichtigen semantischen Beziehungen, auf die sich der Entwickler konzentriert

3. Erfassung mehrschichtiger Semantik

  • Fähigkeit: Gleichzeitige Unterstützung von hochrangiger semantischer Analyse (Verständnisstrategien) und niedrigrangiger Analyse (Verfolgung von Variablenoperationen)
  • Implementierung: Integration von Beziehungen mehrerer Pfadkontexte durch verteilte Repräsentationen

Experimentelle Einrichtung

Dateneingabe

  • Augenbewegungsdaten: Fixationspunkt-Koordinaten von Entwicklern beim Lesen von Quellcode
  • Quellcode: Entsprechende Programm-Quelldateien
  • Einschränkungen: Die aktuelle Version akzeptiert nur Augenbewegungsdaten als Eingabe und verknüpft keine persönlichen Informationen

Verarbeitungsablauf

  1. Augenbewegungskoordinaten → Code-Zeilen- und Spaltenpositionen
  2. Quellcode → AST-Pfadkontexte
  3. Verknüpfung von Positionsinformationen mit Pfadkontexten
  4. Generierung gewichteter verteilter Repräsentationen

Experimentelle Ergebnisse

Validierung von Anwendungsszenarien

1. Unterstützung für Data-Mining-Analyse

  • Fähigkeit: Unterstützung explorativer Data-Mining-Analysen
  • Vorteil: Bietet im Vergleich zu traditioneller koordinatenbasierter Analyse reichhaltigere semantische Informationen
  • Anwendung: Untersuchung der potenziellen Bedeutung von Trends in Gruppen semantisch ähnlicher Syntaxelemente

2. Vorhersage von Machine-Learning-Labels

  • Aufgabe: Vorhersage von Entwicklermerkmalen basierend auf Augenbewegungsdaten
  • Vorhersageziele:
    • Beherrschungsgrad des Entwicklers in einer bestimmten Sprache
    • Programmverständnisniveau
  • Bildungsanwendung: Bereitstellung adaptiver Lernunterstützung für einzelne Entwickler

Technische Validierung

  • Vektorraum-Ähnlichkeit: Fähigkeit zur Messung der Ähnlichkeit zwischen Verständnismustern
  • Automatisierungsgrad: Unterstützung für automatische Analyse mit maschinellem Lernen und Deep-Learning-Techniken
  • Mehrdimensionale Analyse: Gleichzeitige Berücksichtigung mehrerer semantischer Ebenen

Verwandte Arbeiten

Traditionelle Augenverfolgungsforschung

  1. Abid et al. (2019): Augenverfolgungsanalyse bei Methodenzusammenfassungsaufgaben, Feststellung, dass Experten Zusammenfassungen basierend auf häufig gelesenen Zeilen generieren
  2. Lin et al. (2016): Verfolgung kognitiver Prozesse während des Programmdebuggings
  3. Sharafi et al. (2022): Forschung zu Code-Navigationsstrategien von Entwicklern

Technische Grundlagen

  1. code2vec (Alon et al. 2019): Methode zum Erlernen verteilter Code-Repräsentationen
  2. iTrace (Guarnera et al. 2018): Augenverfolgungsinfrastruktur in Entwicklungsumgebungen

Vorteile dieses Artikels

  • Semantisches Verständnis: Geht über traditionelle Koordinaten-Zuordnung hinaus und bietet semantische Analyse
  • Automatisierung: Reduziert die Abhängigkeit von Forscherexpertise
  • Mehrdimensionalität: Unterstützt gleichzeitige Analyse mehrerer semantischer Ebenen

Schlussfolgerung und Diskussion

Hauptschlussfolgerungen

  1. eye2vec realisiert erfolgreich die semantische verteilte Repräsentation von Augenbewegungsdaten
  2. Die Methode unterstützt automatisierte mehrdimensionale semantische Analyse
  3. Sie bietet neue Infrastruktur und Analyseparadigmen für die Augenverfolgungsforschung

Einschränkungen

  1. Datenschutzbeschränkungen: Die aktuelle Version akzeptiert nur Augenbewegungsdaten ohne Verknüpfung persönlicher Informationen
  2. Abhängigkeit von vortrainierten Modellen: Erfordert vortrainierte Code-Repräsentationsmodelle wie code2vec
  3. Unzureichende Validierung: Mangel an großflächiger empirischer Validierung und systematischem Vergleich mit traditionellen Methoden

Zukünftige Richtungen

  1. Entwicklung von Anwendungswerkzeugen: Konstruktion von auf eye2vec basierenden Werkzeugen für maschinelles Lernen und Deep Learning
  2. Automatische Mustererkennung: Unterstützung von Forschern bei der effizienten Extraktion nützlicher Verständnismuster
  3. Erweiterung von Anwendungsszenarien: Erkundung weiterer Anwendungen in Programmverständnisaufgaben

Tiefgreifende Bewertung

Stärken

1. Methodische Innovativität

  • Paradigmenwechsel: Wichtiger Übergang von Koordinaten-Zuordnung zu semantischer Zuordnung
  • Technische Fusion: Geschickte Kombination von Augenverfolgung und Code-Repräsentationslernens
  • Automatisierungsverbesserung: Signifikante Reduzierung des Bedarfs an manuellen Eingriffen

2. Theoretische Beiträge

  • Mehrschichtige Analyse: Gleichzeitige Unterstützung von hochrangiger und niedrigrangiger semantischer Analyse
  • Verteilte Repräsentationen: Einführung moderner Repräsentationslernmethoden in die Augenverfolgungsanalyse
  • Skalierbarkeit: Bereitstellung einer universellen Infrastruktur für nachfolgende Forschung

3. Praktischer Wert

  • Bildungsanwendungen: Unterstützung personalisierter Entwicklerausbildung
  • Effizienzverbesserung: Automatisierte Analyse reduziert Forschungskosten
  • Standardisierung: Bereitstellung eines einheitlichen Analyserahmens

Mängel

1. Unzureichende experimentelle Validierung

  • Fehlende Vergleichsexperimente: Keine systematische Leistungsgegenüberstellung mit traditionellen Methoden
  • Begrenzte Validierungsdaten: Mangel an großflächiger Datensatzvalidierung
  • Fehlende Quantifizierung der Effekte: Keine konkreten Leistungsverbesserungsdaten

2. Unvollständige technische Details

  • Fehlende Parametereinstellungen: Keine detaillierte Erklärung wichtiger Hyperparameter
  • Fehlende Komplexitätsanalyse: Keine Analyse von Rechenkomplexität und Effizienz
  • Unbekannte Robustheit: Anpassungsfähigkeit an verschiedene Codetypen nicht validiert

3. Einschränkungen der Anwendungsszenarien

  • Datenschutzbeschränkungen: Das aktuelle Design begrenzt bestimmte Anwendungsszenarien
  • Starke Abhängigkeit: Abhängigkeit von mehreren externen Werkzeugen und vortrainierten Modellen
  • Unbekannte Verallgemeinerungsfähigkeit: Leistung in verschiedenen Programmiersprachen nicht validiert

Auswirkungen

1. Akademische Beiträge

  • Neue Forschungsrichtung: Eröffnet neue Wege für die Augenverfolgungsforschung
  • Methodologische Innovation: Bereitstellung eines wiederverwendbaren Analyserahmens
  • Interdisziplinäre Fusion: Verbindung von Softwaretechnik und Kognitionswissenschaft

2. Praktisches Potenzial

  • Werkzeugentwicklung: Bereitstellung einer Grundlage für die Entwicklung verwandter Werkzeuge
  • Standardisierung: Potenzial zur Etablierung als Standardmethode in der Branche
  • Industrielle Anwendung: Anwendungsperspektiven in Entwicklerausbildung und Code-Optimierung

Anwendbare Szenarien

1. Forschungsanwendungen

  • Programmverständnisforschung: Bereitstellung neuer Werkzeuge für die Erforschung kognitiver Prozesse
  • Analyse von Entwicklerverhalten: Unterstützung großflächiger Entwicklerverhaltensstudien
  • Bildungsforschung: Bewertung und Optimierung der Programmierausbildungseffektivität

2. Praktische Anwendungen

  • IDE-Optimierung: Verbesserung der Benutzerfreundlichkeit integrierter Entwicklungsumgebungen
  • Code-Review: Unterstützung bei der Bewertung der Codelesbarkeit
  • Trainingssysteme: Bewertung von Entwicklerfähigkeiten und personalisierte Schulung

Literaturverzeichnis

Kernliteratur

  1. Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code - Bietet technische Grundlagen für verteilte Code-Repräsentationen
  2. Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments - Bietet technische Unterstützung für Augenverfolgung
  3. Abid et al. (2019): Developer reading behavior while summarizing Java methods - Zeigt den Anwendungswert der Augenverfolgungsanalyse im Programmverständnis

Verwandte Fachliteratur

  • Lin et al. (2016): Verfolgung kognitiver Prozesse beim Programmdebugging
  • Sharafi et al. (2022): Forschung zu Code-Navigationsstrategien von Entwicklern

Gesamtbewertung: Dies ist ein innovatives Infrastruktur-Paper, das eine neue Methode zur Kombination von Augenbewegungsdaten mit semantischen Code-Repräsentationen vorschlägt. Obwohl die experimentelle Validierung noch verstärkt werden muss, verdienen die technische Innovation und das Anwendungspotenzial Aufmerksamkeit. Die Methode bietet einen neuen technischen Weg für die Augenverfolgungsanalyse in der Programmverständnisforschung und hat das Potenzial, die Entwicklung verwandter Bereiche voranzutreiben.