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

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

PSIMiner: A Tool for Mining Rich Abstract Syntax Trees from Code

February 15

В последнее время всё чаще можно встретить работы, посвящённые применению машинного обучения к исходному коду. В таких задачах исследователи строят модели, например, для суммаризации кода или поиска дубликатов. При этом надо помнить, что модели машинного обучения очень зависят от формата входных данных. Поэтому не удивительно, что ведётся много работы в поисках оптимальных представлений кода. На текущий момент одно из самых устоявшихся представлений это абстрактные синтаксические деревья (AST) и производные из них структуры данных. Однако абстрактные синтаксические деревья давно используются в различных областях SE, например, в средах разработки (IDE). IDE предоставляют API для манипуляции с деревьями, их обхода, разрешению зависимостей между частями кода и т.д. Использование такой функциональности может добавить в AST новую информацию, которая в дальнейшем может помочь ML моделям достичь более высокого качества.

На этом семинаре будет представлен PSIMiner — инструмент для обработки PSI деревьев из IntelliJ Platform. PSI деревья содержат как всю необходимую структуру кода, так и предоставляют функциональность для их обработки. В качестве примера использования такого инструмента мы показываем, как легко можно добавить информацию о типах токенов в листьях AST, а затем использовать эту информацию для улучшения существующих ML моделей.

Докладчик Егор Спирин.

Язык доклада: русский.

Дата и время: 15-е февраля, 18:00.

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

Meeting ID: 509 624 984

Passcode: 016883