• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Предсказание имен переменных

ФИО студента: Давиденко Игорь Михайлович

Руководитель: Новиков Борис Асенович

Кампус/факультет: Санкт-Петербургская школа физико-математических и компьютерных наук

Программа: Промышленное программирование (Магистратура)

Год защиты: 2021

Разработчики не только пишут код, но и читают его, поэтому его понимаемость – это очень важное свойство. Большую часть токенов исходного кода составляют идентификаторы (70%). Это означает, что они в большой степени отвечают за его читаемость и понимаемость. Благодаря им программист может быстро определить назначение переменной, метода или класса, даже не глядя на его реализацию. Переменные составляют довольно большую часть всех идентификаторов, и, к сожалению, на данный момент не существует полноценного инструмента для автоматического предсказания их имен. Целью этой работы является создание инструмента на основе машинного обучения для предсказания имен переменных в реальном времени. В рамках данной работы был реализован плагин для IntelliJ IDEA, который использует несколько моделей машинного обучения для предсказания имен переменных. Среди этих моделей могут быть как N-грамм модели, такие как IdNGram и Naturalize, так и нейронные, IdTransformer и GGNN. Первые быстро обучаются на стороне пользователя и могут сразу выдавать предсказания, вторые же заранее обучаются на большом корпусе проектов и к ним идет обращение через сервер. Также в данной работе было предложено использование смесей этих моделей. Благодаря тому, что N-грамм модели быстро выучивают соглашения о наименовании переменных в определенном проекте, а нейронные модели обладают общим знанием о названиях переменных, их смесь позволяет нивелировать недостатки обеих моделей и улучшить их метрики.

Выпускные квалификационные работы (ВКР) в НИУ ВШЭ выполняют все студенты в соответствии с университетским Положением и Правилами, определенными каждой образовательной программой.

Аннотации всех ВКР в обязательном порядке публикуются в свободном доступе на корпоративном портале НИУ ВШЭ.

Полный текст ВКР размещается в свободном доступе на портале НИУ ВШЭ только при наличии согласия студента – автора (правообладателя) работы либо, в случае выполнения работы коллективом студентов, при наличии согласия всех соавторов (правообладателей) работы. ВКР после размещения на портале НИУ ВШЭ приобретает статус электронной публикации.

ВКР являются объектами авторских прав, на их использование распространяются ограничения, предусмотренные законодательством Российской Федерации об интеллектуальной собственности.

В случае использования ВКР, в том числе путем цитирования, указание имени автора и источника заимствования обязательно.

Реестр дипломов НИУ ВШЭ