МЕТОД АВТОМАТИЗОВАНОГО ФОРМУВАННЯ КЛАСТЕРІВ ПРОГРАМНОЇ СИСТЕМИ НА ОСНОВІ СТРУКТУРНО-СЕМАНТИЧНОГО АНАЛІЗУ КОМПОНЕНТІВ З ВИКОРИСТАННЯМ НЕЙРОННИХ МЕРЕЖ

Автор(и)

  • Я. І. КОРНАГА Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» https://orcid.org/0000-0001-9768-2615
  • О. М. ГУБАРЄВ Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» https://orcid.org/0009-0001-1028-4604

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##

Опубліковано

2025-11-28