Огляд шляхів автоматизації рефакторингу кодових клонів
DOI: 10.31673/2412-9070.2024.050575
Анотація
Сучасний розвиток технологій у сфері програмної інженерії вимагає постійних зусиль з оптимізації та покращення якості коду. Однією з нагальних проблем є наявність кодових клонів, які можуть призводити до помилок та ускладнення подальшого обслуговування програмних систем. Автоматизація рефакторингу кодових клонів представляє значний інтерес для дослідників і практиків у цій області. Основні задачі дослідження охоплюють декілька ключових аспектів. Перш за все, дослідження зосереджується на глибокому аналізі наявних методів і технік, які вже використовуються для автоматизації рефакторингу клонів. Це включає вивчення ефективності існуючих підходів та виявлення їхніх обмежень. Важливою частиною є аналіз алгоритмів, які можуть покращити точність виявлення клонів та ефективність їхнього рефакторингу. Крім того, дослідження аналізує вплив автоматизації на якість і обслуговуваність програмних систем, що допомагає визначити, як такі технології можуть бути інтегровані у реальні проєкти розробки програмного забезпечення. Дослідження покликане виявити обмеження поточних підходів та запропонувати шляхи їх оптимізації, враховуючи сучасні технологічні можливості та потреби ринку програмного забезпечення. Дослідження включає критичний огляд літератури, вивчення звітів про застосування інструментів на практиці та аналіз результатів використання автоматизованих систем у реальних проєктах. Це дає можливість оцінити ефективність різних алгоритмів і методик виявлення та рефакторингу кодових клонів, а також їхній вплив на якість кінцевого продукту та ефективність розробки. Висновки, запропоновані в рамках дослідження, включатимуть рекомендації щодо усунення виявлених прогалин у поточних методиках, пропозицію нового підходу до автоматизації рефакторингу клонів, що зможе забезпечити більшу адаптивність та ефективність.
Ключові слова: кодові клони, автоматизація рефакторингу, машинне навчання, статичний аналіз, оптимізація коду, якість програмного коду.