Визначення можливостей систем генеративного штучного інтелекту для підвищення ефективності процесу рефакторингу
DOI:
https://doi.org/10.15587/2706-5448.2025.326899Ключові слова:
рефакторинг на основі ШІ, покращення якості коду, автоматичне виявлення проблем у коді, інструменти генеративного ШІ, оптимізація програмного забезпеченняАнотація
Об'єктом дослідження є рефакторинг початкового коду, полегшений та контрольований інструментами генеративного штучного інтелекту (ШІ). Робота направлена на оцінку його впливу на якість рефакторингу, а також визначення його практичної застосовності для покращення супроводжуваності та ефективності програмного забезпечення.
Проблема, яка розглядається в цьому дослідженні, полягає в обмеженості традиційних інструментів рефакторингу на основі правил, які вимагають заздалегідь визначених правил і часто є специфічними для певної мови програмування. Генеративний ШІ з його вдосконаленими можливостями розпізнавання шаблонів та адаптивного навчання пропонує альтернативний підхід. Однак його ефективність у вирішенні різних завдань рефакторингу та надійність залишаються нерозкритими.
Дослідження включало кілька експериментів, в яких чотири інструменти ШІ – ChatGPT, Copilot, Gemini та Claude – були протестовані на різних завданнях рефакторингу, включаючи виявлення антипатернів у коді, підвищення ефективності, видалення надмірних зв’язків та масштабний рефакторинг.
Результати показали, що Claude досяг найвищого показника успішності (78,8%), за ним йдуть ChatGPT (76,6%), Copilot (72,8%) і Gemini (61,8%). Хоча всі інструменти продемонстрували принаймні базове розуміння принципів рефакторингу, їхня ефективність суттєво відрізнялася залежно від складності завдання. Ці результати можна пояснити відмінностями у підготовці моделей, спеціалізації та архітектурі, що лежить в їх основі. Моделі, оптимізовані для задач програмування, краще справлялися зі структурованим аналізом коду, тоді як більш універсальним моделям не вистачало глибини у специфічних задачах, пов'язаних з програмуванням.
Практичне значення цього дослідження полягає в тому, що хоча інструменти генеративного ШІ можуть суттєво допомогти в рефакторингу, людський нагляд все ще потрібен. Рефакторинг за допомогою ШІ може підвищити продуктивність розробників, спростити обслуговування програмного забезпечення та зменшити технічний борг, що робить його цінним доповненням до сучасних робочих процесів розробки програмного забезпечення.
Посилання
- Fowler, M. (2019). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional.
- Mens, T., Tourwé, T., Demeyer, S. (2019). Software Evolution. Springer.
- Tkachuk, A., Bulakh, B. (2023). Describing the Knowledge About the Source Code Using an Ontology. Infocommunication and computer systems, 1 (5), 123–133. https://doi.org/10.36994/2788-5518-2023-01-05-14
- Tkachuk, A. V. (2024). Automated code refactoring using a knowledge base and logical rules. Scientific Bulletin of UNFU, 34 (2), 87–93. https://doi.org/10.36930/40340211
- Põld, J., Robal, T., Kalja, A. (2013). On Proving the Concept of an Ontology Aided Software Refactoring Tool. Frontiers in Artificial Intelligence and Applications, 249, 84–94. https://doi.org/10.3233/978-1-61499-161-8-84
- Bommasani, R., Hudson, D., Adeli, E., Altman, R., Arora, S., Arx, S. et al. (2021). On the opportunities and risks of foundation models. arXiv. https://doi.org/10.48550/arXiv.2108.07258
- Russell, S., Norvig, P. (2020). Artificial Intelligence: A Modern Approach. Pearson.
- Poldrack, R., Lu, T., Begus, G. (2023). AI-assisted coding: Experiments with GPT-4. arXiv. https://doi.org/10.48550/arXiv.2304.13187
- Dhruv, A., Dubey, A. (2024). Leveraging Large Language Models for Code Translation and Software Development in Scientific Computing. https://doi.org/10.48550/arXiv.2410.24119
- Sajja, A., Thakur, D., Mehra, A. (2024). Integrating Generative AI into the Software Development Lifecycle: Impacts on Code Quality and Maintenance. International Journal of Science and Research Archive, 13 (1), 1952–1960. https://doi.org/10.30574/ijsra.2024.13.1.1837
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Andrii Tkachuk

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.




