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 | |
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 |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
Access count: 10
Last 30 days: 5