title: ÐÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¸ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð°
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Efficiency of supervised machine learning algorithms in software refactoring prediction
Creators: name: ÐÐ¾Ð»ÐºÐ¾Ð², Ð®ÑÐ¸Ð¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼
Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ðµ Ð¾Ð±ÑÑÐµÐ½Ð¸Ðµ
ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³
Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÐ¹ ÐºÐ¾Ð´
Ð¿ÑÐµÐ´ÑÐºÐ°Ð·Ð°Ð½Ð¸Ðµ
ÑÐ»ÑÑÑÐµÐ½Ð¸Ðµ
Ð¾ÑÐµÐ½ÐºÐ° ÐºÐ°ÑÐµÑÑÐ²Ð°
algorithm
machine learning
refactoring
program code
prediction
improvement
quality assessment

description: Ð¦ÐµÐ»ÑÑ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÐ¸ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÑÐµÐ¼ÑÑ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð¾Ð² ML Ð´Ð»Ñ Ð¿ÑÐ¾Ð³Ð½Ð¾Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ. ÐÑÐ»Ð¸ ÑÐµÑÐµÐ½Ñ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: - ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÑ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐ¸Ðµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ Ð´Ð»Ñ Ð¿ÑÐ¾Ð³Ð½Ð¾Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³Ð°; - ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÑ ÐºÐ°Ðº ÑÐ¾ÑÐ½Ð¾ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÑÐµÐ¼ÑÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ ML Ð¿ÑÐµÐ´ÑÐºÐ°Ð·ÑÐ²Ð°ÑÑ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ; - ÐÐ°Ð¹ÑÐ¸ Ð²Ð°Ð¶Ð½ÑÐµ ÑÐ°ÑÐ°ÐºÑÐµÑÐ¸ÑÑÐ¸ÐºÐ¸ Ð² Ð¼Ð¾Ð´ÐµÐ»ÑÑ Ð¿ÑÐ¾Ð³Ð½Ð¾Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³Ð°; - ÐÐ¾Ð¶Ð½Ð¾ Ð»Ð¸ Ð¿ÐµÑÐµÐ½Ð¾ÑÐ¸ÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ Ð¿ÑÐ¾Ð³Ð½Ð¾Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ ÐºÐ¾Ð½ÑÐµÐºÑÑÑ. ÐÐºÑÑÐ°Ð»ÑÐ½Ð¾ÑÑÑ ÑÐµÐ¼Ñ Ð¾Ð±ÑÑÐ»Ð¾Ð²Ð»ÐµÐ½Ð° Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑ Ð¿ÑÐ¾ÑÐµÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð² ÐºÑÑÐ¿Ð½ÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÑÑ Ð½Ð° Ð´Ð¾Ð»Ð¶Ð½Ð¾Ð¼ ÑÑÐ¾Ð²Ð½Ðµ. ÐÐ¸ÑÐ°ÑÑ ÐºÐ¾Ð´ Â«ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑÂ» Ð½Ðµ ÐµÑÑÑ Ð·Ð°Ð»Ð¾Ð³Ð¾Ð¼ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. Ð ÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³ Ð´Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÑÐ¸Ð²ÐµÑÑÐ¸ ÐºÐ¾Ð´ Ð² Ð½Ð°Ð´Ð»ÐµÐ¶Ð°ÑÐ¸Ð¹ Ð²Ð¸Ð´, ÑÑÐ¾ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ ÑÑÐ¾Ñ ÐºÐ¾Ð´ Ð»ÐµÐ³ÐºÐ¾ ÑÐ¸ÑÐ°ÑÑ, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾, Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑ Ð¸ ÑÐ°ÑÑÐ¸ÑÑÑÑ ÑÐ°Ð¼Ñ ÑÐ¸ÑÑÐµÐ¼Ñ. ÐÑÑÐ¾ÑÐ½Ð¸ÐºÐ°Ð¼Ð¸ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð²ÑÑÑÑÐ¿Ð¸Ð»Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð·Ð°ÑÑÐ±ÐµÐ¶Ð½Ð¾Ð¹ Ð½Ð°ÑÑÐ½Ð¾-Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¾Ð¹ Ð»Ð¸ÑÐµÑÐ°ÑÑÑÑ, Ð¾ÑÐ¸ÑÐ¸Ð°Ð»ÑÐ½ÑÑ ÐÐ½ÑÐµÑÐ½ÐµÑ-ÑÐµÑÑÑÑÐ¾Ð² Ð¸ Ð°Ð½Ð°Ð»Ð¸ÑÐ¸ÑÐµÑÐºÐ¸Ñ Ð°Ð³ÐµÐ½ÑÑÑÐ². Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð¼ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ Ð²ÑÐ²Ð¾Ð´ Ð¾ ÑÐ¾Ð¼, ÑÑÐ¾ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÑÐµÐ¼ÑÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ (ML) ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ñ Ð² Ð¿ÑÐ¾Ð³Ð½Ð¾Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÐµÐ¹ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸Ð½Ð³Ð° Ð¸ Ð´ÐµÐ¹ÑÑÐ²Ð¸ÑÐµÐ»ÑÐ½Ð¾ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ°Ð¼ Ð² Ð¿ÑÐ¸Ð½ÑÑÐ¸Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð±ÑÑÑÑÑÑ Ð¸ Ð¾Ð±Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð½ÑÑ ÑÐµÑÐµÐ½Ð¸Ð¹ Ð¾ÑÐ½Ð¾ÑÐ¸ÑÐµÐ»ÑÐ½Ð¾ ÑÐ¾Ð³Ð¾, ÑÑÐ¾ ÑÐµÑÐ°ÐºÑÐ¾ÑÐ¸ÑÑ.
description: 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.