МЕТОД АВТОМАТИЗОВАНОГО ФОРМУВАННЯ КЛАСТЕРІВ ПРОГРАМНОЇ СИСТЕМИ НА ОСНОВІ СТРУКТУРНО-СЕМАНТИЧНОГО АНАЛІЗУ КОМПОНЕНТІВ З ВИКОРИСТАННЯМ НЕЙРОННИХ МЕРЕЖ
DOI:
https://doi.org/10.35546/kntu2078-4481.2025.3.2.33Ключові слова:
монолітна архітектура, мікросервісна архітектура, декомпозиція, когезія, зв’язаність, графові моделі, семантичний аналіз, нейронні мережіАнотація
У статті розглянуто проблему трансформації монолітних архітектур програмних систем у мікросервісні, яка є одним із ключових завдань сучасної інженерії програмного забезпечення. Монолітні системи з часом набувають надмірної складності та високого рівня внутрішньої зв’язаності, що ускладнює їх масштабування, супровід і модифікацію. Мікросервісна архітектура, орієнтована на незалежні сервіси з чіткими інтерфейсами, значною мірою вирішує ці проблеми, однак постає нетривіальне завдання коректної декомпозиції, яке не має єдиного універсального розв’язку. У роботі запропоновано метод декомпозиції, що поєднує структурний та семантичний аналіз вихідного коду з навчанням нейронних мереж для графів, спрямованих на автоматизоване формування кластерної структури системи. Особливістю підходу є багаторівнева побудова графа залежностей, яка враховує різні типи зв’язків (виклики методів, наслідування, використання ресурсів), а також запровадження вагових коефіцієнтів вузлів, розрахованих на основі показників центральності. Перед етапом кластеризації застосовано поетапну структурну оптимізацію графа, що включає виявлення сильно зв’язаних компонент, циклів, мостів і точок артикуляції, а також зниження впливу надлишкових і шумових зв’язків. Це дозволяє підвищити точність і надійність подальшого групування компонентів.Додатково реалізовано адаптивний вибір алгоритму кластеризації на основі метрик графа (щільність, кількість вузлів, центральність, коефіцієнт спільного використання ресурсів), що дозволяє узгоджувати метод із поточними характеристиками структури. Навчання графової нейронної мережі здійснюється на векторах ознак, які інтегрують топологічні та семантичні характеристики компонентів, що забезпечує виявлення латентних закономірностей у складних залежностях. Порівняльний аналіз із сучасними методами декомпозиції (CoGCN, DEEPLY, HyDEC, GDC-DVF, Mo2oM) підтвердив ефективність запропонованого підходу. Результати показали перевищення існуючих рішень за показником структурної модульності (SM), що відображає вищу когезію та чіткіші межі сформованих сервісів, при одночасному збереженні відносно низького рівня міжсервісних залежностей. Це свідчить про наукову новизну та практичну значущість розробленого методу, який може бути використаний як у дослідницькому середовищі, так і в реальних промислових системах.
Посилання
Desai, U., Bandyopadhyay, S., & Tamilselvam, S. (2021). Graph Neural Network to Dilute Outliers for Refactoring Monolith Application. AAAI 2021, DOI: https://doi.org/10.48550/arXiv.2102.03827
Yedida, R., Krishna, R., Kalia, A., Menzies, T., Xiao, J., & Vukovic, M. (2021). Partitioning cloud-based microservices (via deep learning). arXiv preprint arXiv:2109.14569. DOI: http://dx.doi.org/10.48550/arXiv.2109.14569
Yedida, R., Krishna, R., Kalia, A., Menzies, T., Xiao, J., & Vukovic, M. (2023). An expert system for redesigning software for cloud applications. Expert Systems with Applications, 219, 119673. DOI: https://doi.org/10.1016/j.eswa.2023.119673
Sellami, K., Saied, M. A., & Ouni, A. (2022). A hierarchical DBSCAN method for extracting microservices from monolithic applications. In Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering. (EASE ’22), pp. 201–210. DOI: https://doi.org/10.1145/3530019.3530040
Qian, L., Li, J., He, X., Gu, R., Shao, J., & Lu, Y. (2023). Microservice extraction using graph deep clustering based on dual view fusion. Information and Software Technology, 158, 107171. DOI: https://doi.org/10.1016/j.infsof.2023.107171
Ziabakhsh, A., Rezaee, M., Eskandari, M., & Goudarzi, M. (2025). Extracting Overlapping Microservices from Monolithic Code via Deep Semantic Embeddings and Graph Neural Network–Based Soft Clustering. arXiv preprint arXiv:2508.07486. DOI: https://doi.org/10.48550/arXiv.2508.07486
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.






