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.
- 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
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.
Die traditionelle Augenverfolgungsanalyse in der Programmverständnisforschung steht vor mehreren Schlüsselherausforderungen:
- 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
- Subjektivität der AOI-Definition: Unterschiedliche Definitionen von Interessensbereichen (Wort-, Zeilen-, Codeblock-Ebene) führen zu unterschiedlichen Analyseergebnissen
- Einschränkungen der einzelnen semantischen Analyse: Bestehende Forschung konzentriert sich typischerweise auf eine einzelne Bedeutung und kann mehrere semantische Ebenen nicht gleichzeitig analysieren
- Ineffizienz der manuellen Analyse: Traditionelle Methoden erfordern umfangreiche manuelle Eingriffe und Zeitaufwand
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.
- Abhängigkeit von Forscherexpertise: Die Auswahl der Analysemethode ist stark subjektiv
- Fehlende semantische Informationen: Traditionelle koordinaten- oder zeilenbasierte Zuordnungen ermangeln semantischen Verständnis
- Schwierigkeiten bei mehrdimensionaler Analyse: Schwierig, Syntaxelemente und strukturelle Bedeutung gleichzeitig zu berücksichtigen
- Niedriger Automatisierungsgrad: Erfordert umfangreiche manuelle Feature-Engineering
- Vorstellung der eye2vec-Infrastruktur: Erstes Framework, das Augenbewegungsdaten mit verteilten Repräsentationen von Quellcode kombiniert
- Implementierung semantischer Augenbewegungsanalyse: Durch Syntaxelement-Zuordnung statt Koordinaten-Zuordnung, unterstützt mehrschichtige semantische Interpretation
- Unterstützung automatisierter mehrdimensionaler Analyse: Nutzt verteilte Repräsentationen zur Erfassung mehrerer semantischer Aspekte, unterstützt maschinelles Lernen und Deep-Learning-Methoden
- Bereitstellung zweier wichtiger Anwendungsszenarien: Unterstützung für Data-Mining-Analyse und auf maschinellem Lernen basierende Label-Vorhersage
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
eye2vec enthält die folgenden Kernmodule:
- 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
- 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
- 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
- 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
- Innovation: Übergang von Koordinaten-Zuordnung zu Syntaxelement-Zuordnung
- Vorteil: Ermöglicht die Interpretation von Augenbewegungsmustern in komplexen Codestrukturen (Schleifen, Verzweigungen)
- Mechanismus: Gewichtung von Pfadkontext-Vektoren basierend auf Fixationshäufigkeit
- Effekt: Hervorhebung der wichtigen semantischen Beziehungen, auf die sich der Entwickler konzentriert
- 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
- 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
- Augenbewegungskoordinaten → Code-Zeilen- und Spaltenpositionen
- Quellcode → AST-Pfadkontexte
- Verknüpfung von Positionsinformationen mit Pfadkontexten
- Generierung gewichteter verteilter Repräsentationen
- 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
- 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
- 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
- Abid et al. (2019): Augenverfolgungsanalyse bei Methodenzusammenfassungsaufgaben, Feststellung, dass Experten Zusammenfassungen basierend auf häufig gelesenen Zeilen generieren
- Lin et al. (2016): Verfolgung kognitiver Prozesse während des Programmdebuggings
- Sharafi et al. (2022): Forschung zu Code-Navigationsstrategien von Entwicklern
- code2vec (Alon et al. 2019): Methode zum Erlernen verteilter Code-Repräsentationen
- iTrace (Guarnera et al. 2018): Augenverfolgungsinfrastruktur in Entwicklungsumgebungen
- 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
- eye2vec realisiert erfolgreich die semantische verteilte Repräsentation von Augenbewegungsdaten
- Die Methode unterstützt automatisierte mehrdimensionale semantische Analyse
- Sie bietet neue Infrastruktur und Analyseparadigmen für die Augenverfolgungsforschung
- Datenschutzbeschränkungen: Die aktuelle Version akzeptiert nur Augenbewegungsdaten ohne Verknüpfung persönlicher Informationen
- Abhängigkeit von vortrainierten Modellen: Erfordert vortrainierte Code-Repräsentationsmodelle wie code2vec
- Unzureichende Validierung: Mangel an großflächiger empirischer Validierung und systematischem Vergleich mit traditionellen Methoden
- Entwicklung von Anwendungswerkzeugen: Konstruktion von auf eye2vec basierenden Werkzeugen für maschinelles Lernen und Deep Learning
- Automatische Mustererkennung: Unterstützung von Forschern bei der effizienten Extraktion nützlicher Verständnismuster
- Erweiterung von Anwendungsszenarien: Erkundung weiterer Anwendungen in Programmverständnisaufgaben
- 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
- 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
- Bildungsanwendungen: Unterstützung personalisierter Entwicklerausbildung
- Effizienzverbesserung: Automatisierte Analyse reduziert Forschungskosten
- Standardisierung: Bereitstellung eines einheitlichen Analyserahmens
- Fehlende Vergleichsexperimente: Keine systematische Leistungsgegenüberstellung mit traditionellen Methoden
- Begrenzte Validierungsdaten: Mangel an großflächiger Datensatzvalidierung
- Fehlende Quantifizierung der Effekte: Keine konkreten Leistungsverbesserungsdaten
- 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
- 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
- Neue Forschungsrichtung: Eröffnet neue Wege für die Augenverfolgungsforschung
- Methodologische Innovation: Bereitstellung eines wiederverwendbaren Analyserahmens
- Interdisziplinäre Fusion: Verbindung von Softwaretechnik und Kognitionswissenschaft
- 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
- 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
- IDE-Optimierung: Verbesserung der Benutzerfreundlichkeit integrierter Entwicklungsumgebungen
- Code-Review: Unterstützung bei der Bewertung der Codelesbarkeit
- Trainingssysteme: Bewertung von Entwicklerfähigkeiten und personalisierte Schulung
- Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code - Bietet technische Grundlagen für verteilte Code-Repräsentationen
- Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments - Bietet technische Unterstützung für Augenverfolgung
- Abid et al. (2019): Developer reading behavior while summarizing Java methods - Zeigt den Anwendungswert der Augenverfolgungsanalyse im Programmverständnis
- 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.