Details

Title Использование машинного обучения для анализа и рефакторинга программного кода: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_03 «Машинное обучение в управлении бизнесом»
Creators Волков Юрий Александрович
Scientific adviser Гейда Александр Сергеевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт промышленного менеджмента, экономики и торговли
Imprint Санкт-Петербург, 2023
Collection Выпускные квалификационные работы; Общая коллекция
Subjects алгоритм; машинное обучение; рефакторинг; программный код; предсказание; улучшение; оценка качества; algorithm; machine learning; refactoring; program code; prediction; improvement; quality assessment
Document type Master graduation qualification work
File type PDF
Language Russian
Level of education Master
Speciality code (FGOS) 09.04.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2023/vr/vr23-2850
Rights Доступ по паролю из сети Интернет (чтение)
Record key ru\spstu\vkr\24834
Record create date 8/2/2023

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Целью работы является исследование эффективности различных контролируемых алгоритмов ML для прогнозирования рефакторинга программного обеспечения. Были решены следующие задачи: - Исследовать подходящие алгоритмы для прогнозирования рефакторинга; - Исследовать как точно контролируемые алгоритмы ML предсказывают рефакторинг программного обеспечения; - Найти важные характеристики в моделях прогнозирования рефакторинга; - Можно ли переносить модели прогнозирования в различные контексты. Актуальность темы обусловлена необходимостью поддерживать процесс разработки в крупных компаниях на должном уровне. Писать код «который работает» не есть залогом производительного приложения. Рефакторинг дает возможность привести код в надлежащий вид, что позволит в дальнейшем этот код легко читать, использовать повторно, поддерживать и расширять саму систему. Источниками информации выступили данные зарубежной научно-исследовательской литературы, официальных Интернет-ресурсов и аналитических агентств. Результатом работы является вывод о том, что контролируемые алгоритмы машинного обучения (ML) эффективны в прогнозировании возможностей рефакторинга и действительно могут помочь разработчикам в принятии более быстрых и обоснованных решений относительно того, что рефакторить.

The aim of the work is to investigate the effectiveness of various supervised ML algorithms for software refactoring prediction. The following objectives were achieved: - To investigate suitable algorithms for predicting refactoring; - Investigate how precisely controlled ML algorithms predict software refactoring; - Find important characteristics in predictive refactoring models; - Whether prediction models can be transferred to different contexts. The relevance of the topic stems from the fact that to keep the development process in large companies on track. Writing code "that works" is not a guarantee of a productive application. Refactoring gives an opportunity to bring the code to a proper form which will allow to read this code in future, to use it again and again, to maintain and extend the system itself. The sources of information were data from foreign research literature, official Internet resources and analytical agencies. The result of the work is the conclusion that supervised machine learning (ML) algorithms are effective in predicting refactoring opportunities and can indeed help developers make faster and more informed decisions about what to refactor.

Network User group Action
ILC SPbPU Local Network All
Read
Internet Authorized users SPbPU
Read
Internet Anonymous

Access count: 10 
Last 30 days: 5

Detailed usage statistics