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

Автоматическая рекомендация рефакторинга "Выделение метода" при копировании кода в IDE

ФИО студента: Кириленко Андрей Александрович

Руководитель: Брыксин Тимофей Александрович

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

Программа: Прикладная математика и информатика (Бакалавриат)

Оценка: 9

Год защиты: 2020

Рефакторинг программного кода является важным элементом раз- работки любого программного продукта. В больших системах он мо- жет занимать довольно много времени и тормозить процесс разработ- ки новой функциональности. Выделение метода — один из наиболее распространенных рефакторингов, который позволяет бороться с дуб- лированиями в программном коде и улучшать его читаемость. Что- бы рефакторинг занимал меньшее количество времени, необходимо бо- роться с самими причинами, вынуждающими его сделать. В данном случае такой причиной является многочисленное дублирование кода в программе. В этой работе предлагается инструмент для автоматиче- ской рекомендации рефакторинга “Выделение метода” при совершении операций копирования кода. Использование моделей машинного обуче- ния позволяет эффективно определять необходимость рефакторинга в различных случаях. Для каждого вставленного фрагмента кода модель преобразует их в числовые представления на основе совокупности при- знаков, после чего решается задача бинарной классификации. В про- цессе работы был осуществлен отбор признаков для классификации, собран соответствующий набор данных и представлены инструменты для его получения. Также была предложена модель, обеспечивающая точность классификации до 91% на собранных данных. В результате было создано расширение для среды разработки IntelliJ IDEA, которое отслеживает операции копирования и рекомендует рефакторинг “Вы- деление метода” в случае необходимости. По итогам апробации было установлено, что полученными рекомендациями действительно пользу- ется, что свидетельствует о практической пользе данного подхода. Ключевые слова: рефакторинг, выделение метода, машинное обуче- ние, векторное представление кода.

Текст работы (работа добавлена 28 мая 2020 г.)

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

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

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

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

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

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