Исследовательская группа

Методы машинного обучения в области программной инженерии

A Structural Model for Contextual Code Changes

March 1

Уважаемые коллеги, 
приглашаем Вас посетить журнальный клуб, на котором мы разберем статью "A Structural Model for Contextual Code Changes"

Разработка программного обеспечения — сложный, итеративный процесс. Программы поддерживаются, исправляются и обновляются на постоянной основе, что требует непосредственного редактирования кода. Контекстное предложение изменений может существенно упостить этот процесс.

В работе A Structural Model for Contextual Code Changes (https://dl.acm.org/doi/pdf/10.1145/3428283) авторы формулируют задачу EditCompletion: предсказание изменений фрагмента кода на основе анализа изменений его окружения. Эту формулировку не стоит путать с классической задачей CodeComplition: в последней предсказывается отсутствующий токен по чатично написанномй фрагменту, а в данной работе предсказываются дальнейшие изменения кода по частично выполненной последовательности изменений. Отдельного упоминания заслуживает иновационный способ представления изменений кода, в рамках которого каждой элементарной модификации AST (добавление/удаление/перенос/изменение вершины дерева) сопоставляется некоторый путь в дереве. Например, переносу вершины соответствует путь от исходной позиции вершиы до её нового родителя. Авторы экспериментально показали преимущество такого подхода перед текстовым представлением изменений.

На семинаре будет подробно рассмотрена архитектура предлагаемого решения задачи EditCompletion, детально описан метод представления изменений на основе путей в AST и продемонстрированы преимущества подобных подходов перед существующими аналогами.

Докладчик: Николай Карасов.

Дата и время: 1-е марта, 18:00.

https://us02web.zoom.us/j/509624984?pwd=dFhRUlowSWprSVAva0JFQ2NUVzZTdz09

Meeting ID: 509 624 984

Passcode: 016883