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: Обучение распределённым представлениям движений глаз для анализа понимания программ

Основная информация

  • ID статьи: 2510.11722
  • Название: eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis
  • Авторы: Haruhiko Yoshioka, Kazumasa Shimari, Hidetake Uwano, Kenichi Matsumoto
  • Классификация: cs.SE (Программная инженерия)
  • Дата публикации/Конференция: ETRA '25 (2025 Symposium on Eye Tracking Research and Applications), 26–29 мая 2025, Токио, Япония
  • Ссылка на статью: https://arxiv.org/abs/2510.11722

Аннотация

В данной работе предлагается eye2vec — инфраструктура для анализа поведения движений глаз разработчиков программного обеспечения при чтении исходного кода. В традиционных исследованиях отслеживания взгляда при понимании программ исследователи должны предварительно выбрать цели анализа (такие как управляющие потоки или синтаксические элементы), а затем разработать методы извлечения соответствующих метрик из точек фиксации взгляда в исходном коде. Исследователи могут определять области интереса (AOI) различных уровней, такие как слова, строки или блоки кода, что приводит к различным результатам. Кроме того, интерпретация фиксаций слов/строк варьируется в зависимости от целей анализа. Таким образом, анализ отслеживания взгляда является сложной задачей, требующей трудоёмкой ручной работы исследователя. eye2vec использует распределённые представления для кодирования переходов между последовательными точками фиксации как переходов между синтаксическими элементами. Распределённые представления способствуют применению разнообразных методов анализа данных с богатой семантической интерпретацией.

Исследовательский контекст и мотивация

Определение проблемы

Традиционный анализ отслеживания взгляда в исследованиях понимания программ сталкивается с несколькими ключевыми вызовами:

  1. Проблема предварительного выбора целей анализа: Исследователи должны заранее определить конкретные синтаксические элементы или управляющие потоки для анализа, что в значительной степени зависит от опыта исследователя
  2. Субъективность определения AOI: Различные определения областей интереса (уровень слова, строки, блока кода) приводят к различным результатам анализа
  3. Ограничения однозначного семантического анализа: Существующие исследования обычно сосредоточены на одном значении, что затрудняет одновременный анализ нескольких семантических уровней
  4. Неэффективность ручного анализа: Традиционные методы требуют значительного человеческого вмешательства и затрат времени

Значимость исследования

Понимание паттернов движений глаз разработчиков имеет важное значение для:

  • Извлечения паттернов понимания и стратегий опытных разработчиков
  • Повышения эффективности разработки
  • Улучшения обучения разработчиков
  • Оптимизации проектирования читаемости кода

Например, при выполнении задачи создания аннотаций методов опытные разработчики склонны генерировать аннотации на основе наиболее часто читаемых строк кода.

Ограничения существующих методов

  1. Зависимость от опыта исследователя: Выбор методов анализа имеет высокую субъективность
  2. Отсутствие семантической информации: Традиционное отображение на основе координат или номеров строк не содержит семантического понимания
  3. Сложность многомерного анализа: Трудно одновременно учитывать синтаксические элементы и структурное значение
  4. Низкий уровень автоматизации: Требует значительной ручной разработки признаков

Основные вклады

  1. Предложена инфраструктура eye2vec: Первая система, объединяющая данные отслеживания взгляда с распределёнными представлениями исходного кода
  2. Реализован семантический анализ движений глаз: Посредством отображения синтаксических элементов, а не координат, поддерживает многоуровневую семантическую интерпретацию
  3. Поддержка автоматизированного многомерного анализа: Использование распределённых представлений для захвата нескольких семантических аспектов, поддержка методов машинного обучения и глубокого обучения
  4. Предоставлены два ключевых сценария применения: Поддержка анализа интеллектуального анализа данных и предсказание меток на основе машинного обучения

Подробное описание методологии

Определение задачи

Входные данные: Данные координат движений глаз разработчика при чтении исходного кода и соответствующий исходный код Выходные данные: Распределённые векторы, представляющие характеристики движений глаз (eye vector) Цель: Преобразование данных отслеживания взгляда на основе координат в распределённые представления с семантическим значением

Архитектура модели

eye2vec содержит следующие основные модули:

1. Coordinate Line/Column Converter

  • Функция: Преобразование координат, записанных трекером движений глаз, в номера строк и столбцов в исходном коде
  • Реализация: Использование инструмента iTrace для отображения координат на позиции в коде

2. Интеграция code2vec

  • Функция: Извлечение контекстов путей из исходного кода
  • Механизм: Контексты путей представляют пути между двумя словами в абстрактном синтаксическом дереве (AST)
  • Выход: Контексты путей и соответствующие предварительно обученные векторы встраивания

3. Syntax Tree/Eye Linker

  • Функция: Связывание номеров строк и столбцов с контекстами путей
  • Обработка: Преобразование данных отслеживания взгляда в векторы контекстов путей и количество фиксаций
  • Инновация: Преобразование количества фиксаций в пропорции, отражающие характеристики разработчика

4. Vector Compressor

  • Функция: Агрегирование векторов и количества фиксаций для создания финального eye vector
  • Механизм взвешивания: Применение весов к векторам встраивания на основе частоты фиксаций
  • Выход: Финальное распределённое представление, характеризующее движения глаз

Технические инновации

1. Семантическое представление движений глаз

  • Инновация: Переход от отображения координат к отображению синтаксических элементов
  • Преимущества: Возможность интерпретации паттернов движений глаз в сложных структурах кода (циклы, ветвления)

2. Взвешивание контекста пути

  • Механизм: Взвешивание векторов контекста пути на основе частоты фиксаций
  • Эффект: Выделение важных семантических отношений, на которые обращает внимание разработчик

3. Захват многоуровневой семантики

  • Возможности: Одновременная поддержка анализа высокоуровневой семантики (стратегии понимания) и низкоуровневого анализа (отслеживание операций с переменными)
  • Реализация: Интеграция отношений между несколькими контекстами путей посредством распределённого представления

Экспериментальная установка

Входные данные

  • Данные отслеживания взгляда: Координаты точек фиксации при чтении разработчиком исходного кода
  • Исходный код: Соответствующие файлы исходного кода программы
  • Ограничения: Текущая версия принимает только данные отслеживания взгляда без связи с личной информацией

Процесс обработки

  1. Координаты движений глаз → Позиции строк и столбцов в коде
  2. Исходный код → Контексты путей AST
  3. Связывание информации о позиции с контекстами путей
  4. Создание взвешенного распределённого представления

Результаты экспериментов

Проверка сценариев применения

1. Поддержка анализа интеллектуального анализа данных

  • Возможности: Поддержка исследовательского анализа интеллектуального анализа данных
  • Преимущества: По сравнению с традиционным анализом на основе координат предоставляет более богатую семантическую информацию
  • Применение: Исследование потенциального значения тенденций в группах синтаксических элементов с семантической схожестью

2. Предсказание меток машинного обучения

  • Задача: Предсказание характеристик разработчика на основе данных отслеживания взгляда
  • Цели предсказания:
    • Уровень владения разработчиком конкретным языком программирования
    • Уровень понимания программ
  • Образовательное применение: Предоставление адаптивной поддержки обучения для отдельных разработчиков

Техническая проверка

  • Сходство в векторном пространстве: Возможность измерения сходства между паттернами понимания
  • Уровень автоматизации: Поддержка автоматического анализа с использованием методов машинного обучения и глубокого обучения
  • Многомерный анализ: Одновременное рассмотрение нескольких семантических уровней

Связанные работы

Традиционные исследования анализа отслеживания взгляда

  1. Abid et al. (2019): Анализ движений глаз при создании аннотаций методов, обнаружение того, что эксперты генерируют аннотации на основе часто читаемых строк
  2. Lin et al. (2016): Отслеживание когнитивных процессов при отладке программ
  3. Sharafi et al. (2022): Исследование стратегий навигации по коду разработчиков

Технологическая база

  1. code2vec (Alon et al. 2019): Метод обучения распределённым представлениям кода
  2. iTrace (Guarnera et al. 2018): Инфраструктура отслеживания взгляда в среде разработки

Преимущества данной работы

  • Семантическое понимание: Выход за пределы традиционного отображения координат, предоставление анализа на семантическом уровне
  • Автоматизация: Снижение зависимости от опыта исследователя
  • Многомерность: Поддержка одновременного анализа нескольких семантических уровней

Заключение и обсуждение

Основные выводы

  1. eye2vec успешно реализует семантическое распределённое представление данных отслеживания взгляда
  2. Метод поддерживает автоматизированный многомерный семантический анализ
  3. Предоставляет новую инфраструктуру и парадигму анализа для исследований отслеживания взгляда

Ограничения

  1. Ограничения защиты конфиденциальности: Текущая версия принимает только данные отслеживания взгляда без связи с личной информацией
  2. Зависимость от предварительно обученных моделей: Требует предварительно обученных моделей представления кода, таких как code2vec
  3. Недостаточная проверка: Отсутствие крупномасштабной эмпирической проверки и систематического сравнения с традиционными методами

Направления будущих исследований

  1. Разработка прикладных инструментов: Создание инструментов машинного обучения и глубокого обучения на основе eye2vec
  2. Автоматическое извлечение паттернов: Поддержка эффективного извлечения полезных паттернов понимания исследователями
  3. Расширение сценариев применения: Исследование применения в большем количестве задач понимания программ

Глубокая оценка

Преимущества

1. Методологическая инновативность

  • Смена парадигмы: Важный переход от отображения координат к семантическому отображению
  • Техническое слияние: Искусное объединение отслеживания взгляда и обучения представлениям кода
  • Повышение автоматизации: Значительное снижение потребности в ручном вмешательстве

2. Теоретический вклад

  • Многоуровневый анализ: Одновременная поддержка высокоуровневого и низкоуровневого семантического анализа
  • Распределённые представления: Введение современных методов обучения представлениям в анализ отслеживания взгляда
  • Масштабируемость: Предоставление универсальной инфраструктуры для последующих исследований

3. Практическая ценность

  • Образовательное применение: Поддержка персонализированного обучения разработчиков
  • Повышение эффективности: Автоматизированный анализ снижает затраты на исследования
  • Стандартизация: Предоставление единой платформы анализа

Недостатки

1. Недостаточная экспериментальная проверка

  • Отсутствие сравнительных экспериментов: Отсутствие систематического сравнения производительности с традиционными методами
  • Ограниченные данные проверки: Отсутствие проверки на крупномасштабных наборах данных
  • Отсутствие количественных результатов: Отсутствие конкретных данных об улучшении производительности

2. Неполнота технических деталей

  • Отсутствие параметров: Отсутствие подробного описания ключевых гиперпараметров
  • Отсутствие анализа сложности: Отсутствие анализа вычислительной сложности и эффективности
  • Неизвестная робастность: Адаптивность к различным типам кода не проверена

3. Ограничения сценариев применения

  • Ограничения конфиденциальности: Текущая конструкция ограничивает некоторые сценарии применения
  • Сильная зависимость: Зависимость от нескольких внешних инструментов и предварительно обученных моделей
  • Неизвестная способность к обобщению: Производительность на различных языках программирования не проверена

Влияние

1. Академический вклад

  • Новое направление исследований: Открытие новых путей для исследований отслеживания взгляда
  • Методологическая инновация: Предоставление переиспользуемой платформы анализа
  • Междисциплинарное слияние: Связь программной инженерии и когнитивной науки

2. Практический потенциал

  • Разработка инструментов: Предоставление основы для разработки соответствующих инструментов
  • Установление стандартов: Потенциал стать стандартным методом в области
  • Промышленное применение: Перспективы применения в обучении разработчиков и оптимизации кода

Применимые сценарии

1. Исследовательское применение

  • Исследования понимания программ: Предоставление новых инструментов для исследования когнитивных процессов
  • Анализ поведения разработчиков: Поддержка крупномасштабных исследований поведения разработчиков
  • Исследования в образовании: Оценка и оптимизация эффективности обучения программированию

2. Практическое применение

  • Оптимизация IDE: Улучшение пользовательского опыта интегрированных сред разработки
  • Проверка кода: Вспомогательная оценка читаемости кода
  • Системы обучения: Оценка навыков разработчиков и персонализированное обучение

Библиография

Основные источники

  1. Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code — предоставляет технологическую основу для распределённых представлений кода
  2. Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments — предоставляет технологическую поддержку отслеживания взгляда
  3. Abid et al. (2019): Developer reading behavior while summarizing Java methods — демонстрирует практическую ценность анализа отслеживания взгляда при понимании программ

Литература по смежным областям

  • Lin et al. (2016): Отслеживание когнитивных процессов при отладке программ
  • Sharafi et al. (2022): Исследование стратегий навигации по коду разработчиков

Общая оценка: Это инновационная работа по инфраструктуре, предлагающая новый метод объединения данных отслеживания взгляда с семантическими представлениями кода. Хотя экспериментальная проверка требует дальнейшего усиления, технологическая инновация и практический потенциал заслуживают внимания. Данный метод открывает новый технологический путь для исследований анализа отслеживания взгляда при понимании программ и имеет потенциал для продвижения развития соответствующих областей.