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.
- 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 использует распределённые представления для кодирования переходов между последовательными точками фиксации как переходов между синтаксическими элементами. Распределённые представления способствуют применению разнообразных методов анализа данных с богатой семантической интерпретацией.
Традиционный анализ отслеживания взгляда в исследованиях понимания программ сталкивается с несколькими ключевыми вызовами:
- Проблема предварительного выбора целей анализа: Исследователи должны заранее определить конкретные синтаксические элементы или управляющие потоки для анализа, что в значительной степени зависит от опыта исследователя
- Субъективность определения AOI: Различные определения областей интереса (уровень слова, строки, блока кода) приводят к различным результатам анализа
- Ограничения однозначного семантического анализа: Существующие исследования обычно сосредоточены на одном значении, что затрудняет одновременный анализ нескольких семантических уровней
- Неэффективность ручного анализа: Традиционные методы требуют значительного человеческого вмешательства и затрат времени
Понимание паттернов движений глаз разработчиков имеет важное значение для:
- Извлечения паттернов понимания и стратегий опытных разработчиков
- Повышения эффективности разработки
- Улучшения обучения разработчиков
- Оптимизации проектирования читаемости кода
Например, при выполнении задачи создания аннотаций методов опытные разработчики склонны генерировать аннотации на основе наиболее часто читаемых строк кода.
- Зависимость от опыта исследователя: Выбор методов анализа имеет высокую субъективность
- Отсутствие семантической информации: Традиционное отображение на основе координат или номеров строк не содержит семантического понимания
- Сложность многомерного анализа: Трудно одновременно учитывать синтаксические элементы и структурное значение
- Низкий уровень автоматизации: Требует значительной ручной разработки признаков
- Предложена инфраструктура eye2vec: Первая система, объединяющая данные отслеживания взгляда с распределёнными представлениями исходного кода
- Реализован семантический анализ движений глаз: Посредством отображения синтаксических элементов, а не координат, поддерживает многоуровневую семантическую интерпретацию
- Поддержка автоматизированного многомерного анализа: Использование распределённых представлений для захвата нескольких семантических аспектов, поддержка методов машинного обучения и глубокого обучения
- Предоставлены два ключевых сценария применения: Поддержка анализа интеллектуального анализа данных и предсказание меток на основе машинного обучения
Входные данные: Данные координат движений глаз разработчика при чтении исходного кода и соответствующий исходный код
Выходные данные: Распределённые векторы, представляющие характеристики движений глаз (eye vector)
Цель: Преобразование данных отслеживания взгляда на основе координат в распределённые представления с семантическим значением
eye2vec содержит следующие основные модули:
- Функция: Преобразование координат, записанных трекером движений глаз, в номера строк и столбцов в исходном коде
- Реализация: Использование инструмента iTrace для отображения координат на позиции в коде
- Функция: Извлечение контекстов путей из исходного кода
- Механизм: Контексты путей представляют пути между двумя словами в абстрактном синтаксическом дереве (AST)
- Выход: Контексты путей и соответствующие предварительно обученные векторы встраивания
- Функция: Связывание номеров строк и столбцов с контекстами путей
- Обработка: Преобразование данных отслеживания взгляда в векторы контекстов путей и количество фиксаций
- Инновация: Преобразование количества фиксаций в пропорции, отражающие характеристики разработчика
- Функция: Агрегирование векторов и количества фиксаций для создания финального eye vector
- Механизм взвешивания: Применение весов к векторам встраивания на основе частоты фиксаций
- Выход: Финальное распределённое представление, характеризующее движения глаз
- Инновация: Переход от отображения координат к отображению синтаксических элементов
- Преимущества: Возможность интерпретации паттернов движений глаз в сложных структурах кода (циклы, ветвления)
- Механизм: Взвешивание векторов контекста пути на основе частоты фиксаций
- Эффект: Выделение важных семантических отношений, на которые обращает внимание разработчик
- Возможности: Одновременная поддержка анализа высокоуровневой семантики (стратегии понимания) и низкоуровневого анализа (отслеживание операций с переменными)
- Реализация: Интеграция отношений между несколькими контекстами путей посредством распределённого представления
- Данные отслеживания взгляда: Координаты точек фиксации при чтении разработчиком исходного кода
- Исходный код: Соответствующие файлы исходного кода программы
- Ограничения: Текущая версия принимает только данные отслеживания взгляда без связи с личной информацией
- Координаты движений глаз → Позиции строк и столбцов в коде
- Исходный код → Контексты путей AST
- Связывание информации о позиции с контекстами путей
- Создание взвешенного распределённого представления
- Возможности: Поддержка исследовательского анализа интеллектуального анализа данных
- Преимущества: По сравнению с традиционным анализом на основе координат предоставляет более богатую семантическую информацию
- Применение: Исследование потенциального значения тенденций в группах синтаксических элементов с семантической схожестью
- Задача: Предсказание характеристик разработчика на основе данных отслеживания взгляда
- Цели предсказания:
- Уровень владения разработчиком конкретным языком программирования
- Уровень понимания программ
- Образовательное применение: Предоставление адаптивной поддержки обучения для отдельных разработчиков
- Сходство в векторном пространстве: Возможность измерения сходства между паттернами понимания
- Уровень автоматизации: Поддержка автоматического анализа с использованием методов машинного обучения и глубокого обучения
- Многомерный анализ: Одновременное рассмотрение нескольких семантических уровней
- Abid et al. (2019): Анализ движений глаз при создании аннотаций методов, обнаружение того, что эксперты генерируют аннотации на основе часто читаемых строк
- Lin et al. (2016): Отслеживание когнитивных процессов при отладке программ
- Sharafi et al. (2022): Исследование стратегий навигации по коду разработчиков
- code2vec (Alon et al. 2019): Метод обучения распределённым представлениям кода
- iTrace (Guarnera et al. 2018): Инфраструктура отслеживания взгляда в среде разработки
- Семантическое понимание: Выход за пределы традиционного отображения координат, предоставление анализа на семантическом уровне
- Автоматизация: Снижение зависимости от опыта исследователя
- Многомерность: Поддержка одновременного анализа нескольких семантических уровней
- eye2vec успешно реализует семантическое распределённое представление данных отслеживания взгляда
- Метод поддерживает автоматизированный многомерный семантический анализ
- Предоставляет новую инфраструктуру и парадигму анализа для исследований отслеживания взгляда
- Ограничения защиты конфиденциальности: Текущая версия принимает только данные отслеживания взгляда без связи с личной информацией
- Зависимость от предварительно обученных моделей: Требует предварительно обученных моделей представления кода, таких как code2vec
- Недостаточная проверка: Отсутствие крупномасштабной эмпирической проверки и систематического сравнения с традиционными методами
- Разработка прикладных инструментов: Создание инструментов машинного обучения и глубокого обучения на основе eye2vec
- Автоматическое извлечение паттернов: Поддержка эффективного извлечения полезных паттернов понимания исследователями
- Расширение сценариев применения: Исследование применения в большем количестве задач понимания программ
- Смена парадигмы: Важный переход от отображения координат к семантическому отображению
- Техническое слияние: Искусное объединение отслеживания взгляда и обучения представлениям кода
- Повышение автоматизации: Значительное снижение потребности в ручном вмешательстве
- Многоуровневый анализ: Одновременная поддержка высокоуровневого и низкоуровневого семантического анализа
- Распределённые представления: Введение современных методов обучения представлениям в анализ отслеживания взгляда
- Масштабируемость: Предоставление универсальной инфраструктуры для последующих исследований
- Образовательное применение: Поддержка персонализированного обучения разработчиков
- Повышение эффективности: Автоматизированный анализ снижает затраты на исследования
- Стандартизация: Предоставление единой платформы анализа
- Отсутствие сравнительных экспериментов: Отсутствие систематического сравнения производительности с традиционными методами
- Ограниченные данные проверки: Отсутствие проверки на крупномасштабных наборах данных
- Отсутствие количественных результатов: Отсутствие конкретных данных об улучшении производительности
- Отсутствие параметров: Отсутствие подробного описания ключевых гиперпараметров
- Отсутствие анализа сложности: Отсутствие анализа вычислительной сложности и эффективности
- Неизвестная робастность: Адаптивность к различным типам кода не проверена
- Ограничения конфиденциальности: Текущая конструкция ограничивает некоторые сценарии применения
- Сильная зависимость: Зависимость от нескольких внешних инструментов и предварительно обученных моделей
- Неизвестная способность к обобщению: Производительность на различных языках программирования не проверена
- Новое направление исследований: Открытие новых путей для исследований отслеживания взгляда
- Методологическая инновация: Предоставление переиспользуемой платформы анализа
- Междисциплинарное слияние: Связь программной инженерии и когнитивной науки
- Разработка инструментов: Предоставление основы для разработки соответствующих инструментов
- Установление стандартов: Потенциал стать стандартным методом в области
- Промышленное применение: Перспективы применения в обучении разработчиков и оптимизации кода
- Исследования понимания программ: Предоставление новых инструментов для исследования когнитивных процессов
- Анализ поведения разработчиков: Поддержка крупномасштабных исследований поведения разработчиков
- Исследования в образовании: Оценка и оптимизация эффективности обучения программированию
- Оптимизация IDE: Улучшение пользовательского опыта интегрированных сред разработки
- Проверка кода: Вспомогательная оценка читаемости кода
- Системы обучения: Оценка навыков разработчиков и персонализированное обучение
- Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code — предоставляет технологическую основу для распределённых представлений кода
- Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments — предоставляет технологическую поддержку отслеживания взгляда
- Abid et al. (2019): Developer reading behavior while summarizing Java methods — демонстрирует практическую ценность анализа отслеживания взгляда при понимании программ
- Lin et al. (2016): Отслеживание когнитивных процессов при отладке программ
- Sharafi et al. (2022): Исследование стратегий навигации по коду разработчиков
Общая оценка: Это инновационная работа по инфраструктуре, предлагающая новый метод объединения данных отслеживания взгляда с семантическими представлениями кода. Хотя экспериментальная проверка требует дальнейшего усиления, технологическая инновация и практический потенциал заслуживают внимания. Данный метод открывает новый технологический путь для исследований анализа отслеживания взгляда при понимании программ и имеет потенциал для продвижения развития соответствующих областей.