{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T23:46:11Z","timestamp":1783035971375,"version":"3.54.6"},"reference-count":27,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2025,7,13]],"date-time":"2025-07-13T00:00:00Z","timestamp":1752364800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2409933"],"award-info":[{"award-number":["2409933"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Future Internet"],"abstract":"<jats:p>Microservice is a popular architecture for developing cloud-native applications. However, decomposing a monolithic application into microservices remains a challenging task. This complexity arises from the need to account for factors such as component dependencies, cohesive clusters, and bounded contexts. To address this challenge, we present an automated approach to decomposing monolithic applications into microservices. Our approach uses static code analysis to generate a dependency graph of the monolithic application. Then, a variational autoencoder (VAE) is used to extract features from the components of a monolithic application. Finally, the C-means algorithm is used to cluster the components into possible microservices. We evaluate our approach using a third-party benchmark comprising both monolithic and microservice implementations. Additionally, we compare its performance against two existing decomposition techniques. The results demonstrate the potential of our method as a practical tool for guiding the transition from monolithic to microservice architectures.<\/jats:p>","DOI":"10.3390\/fi17070303","type":"journal-article","created":{"date-parts":[[2025,7,14]],"date-time":"2025-07-14T09:56:54Z","timestamp":1752487014000},"page":"303","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["A Case Study on Monolith to Microservices Decomposition with Variational Autoencoder-Based Graph Neural Network"],"prefix":"10.3390","volume":"17","author":[{"ORCID":"https:\/\/orcid.org\/0009-0009-4372-1717","authenticated-orcid":false,"given":"Rokin","family":"Maharjan","sequence":"first","affiliation":[{"name":"Department of Computer Science, Baylor University, Waco, TX 76798-7141, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4521-2237","authenticated-orcid":false,"given":"Korn","family":"Sooksatra","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Baylor University, Waco, TX 76798-7141, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5882-5502","authenticated-orcid":false,"given":"Tomas","family":"Cerny","sequence":"additional","affiliation":[{"name":"Department of Systems and Industrial Engineering, University of Arizona, Tucson, AZ 85721-0020, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-3571-6875","authenticated-orcid":false,"given":"Yudeep","family":"Rajbhandari","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Baylor University, Waco, TX 76798-7141, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sakshi","family":"Shrestha","sequence":"additional","affiliation":[{"name":"Department of Computing, East Tennessee State University, Johnson City, TN 37614-1700, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2025,7,13]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Sooksatra, K., Maharjan, R., and \u010cern\u00fd, T. (2022, January 15\u201318). Monolith to Microservices: VAE-Based GNN Approach with Duplication Consideration. Proceedings of the 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), Newark, CA, USA.","DOI":"10.1109\/SOSE55356.2022.00007"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1109\/TNN.2008.2005605","article-title":"The Graph Neural Network Model","volume":"20","author":"Scarselli","year":"2009","journal-title":"IEEE Trans. Neural Netw."},{"key":"ref_3","unstructured":"Kingma, D.P., and Welling, M. (2013). Auto-encoding variational bayes. arXiv."},{"key":"ref_4","unstructured":"Richardson, C. (2018). Microservices Patterns: With examples in Java, Manning Publications."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"4","DOI":"10.1109\/TNNLS.2020.2978386","article-title":"A Comprehensive Survey on Graph Neural Networks","volume":"32","author":"Wu","year":"2021","journal-title":"IEEE Trans. Neural Netw. Learn. Syst."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Chen, R., Li, S., and Li, Z.E. (2017, January 4\u20138). From Monolith to Microservices: A Dataflow-Driven Approach. Proceedings of the 2017 24th Asia-Pacific Software Engineering Conference (APSEC), Nanjing, China.","DOI":"10.1109\/APSEC.2017.53"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Taibi, D., and Syst\u00e4, K. (2019, January 2\u20134). From Monolithic Systems to Microservices: A Decomposition Framework based on Process Mining. Proceedings of the CLOSER 2019\u2014Proceedings of the 9th International Conference on Cloud Computing and Services Science, Heraklion, Crete.","DOI":"10.5220\/0007755901530164"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Krause-Glau, A., Zirkelbach, C., Hasselbring, W., Lenga, S., and Kr\u00f6ger, D. (2020). Microservice Decomposition via Static and Dynamic Analysis of the Monolith. arXiv.","DOI":"10.1109\/ICSA-C50368.2020.00011"},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"106600","DOI":"10.1016\/j.infsof.2021.106600","article-title":"From monolithic systems to Microservices: An assessment framework","volume":"137","author":"Auer","year":"2021","journal-title":"Inf. Softw. Technol."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Kalia, A.K., Xiao, J., Krishna, R., Sinha, S., Vukovic, M., and Banerjee, D. (2021, January 23\u201327). Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices. Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Greece. ESEC\/FSE 2021.","DOI":"10.1145\/3468264.3473915"},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Eski, S., and Buzluca, F. (2018, January 21\u201325). An automatic extraction approach: Transition to microservices architecture from monolithic application. Proceedings of the 19th International Conference on Agile Software Development: Companion, Porto, Portugal. XP \u201918.","DOI":"10.1145\/3234152.3234195"},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1016\/j.jss.2019.02.031","article-title":"Unsupervised learning approach for web application auto-decomposition into microservices","volume":"151","author":"Abdullah","year":"2019","journal-title":"J. Syst. Softw."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Kalia, A., Xiao, J., Lin, C., Sinha, S., Rofrano, J., Vukovic, M., and Banarjee, D. Mono2Micro: An AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture. Proceedings of the ESEC\/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering.","DOI":"10.1145\/3368089.3417933"},{"key":"ref_14","first-page":"72","article-title":"Graph Neural Network to Dilute Outliers for Refactoring Monolith Application","volume":"35","author":"Desai","year":"2021","journal-title":"Proc. AAAI Conf. Artif. Intell."},{"key":"ref_15","unstructured":"Kipf, T., and Welling, M. (2016). Semi-Supervised Classification with Graph Convolutional Networks. arXiv."},{"key":"ref_16","unstructured":"Sooksatra, K., Chy, M.S.H., Arju, M.A.R., Cerny, T., and Rivas, P. (November, January 27). Using Static Analysis to Aid Monolith to Microservice System Transformation: Tuning Fuzzy c-Means in a VAE-Based GNN Approach. Proceedings of the 39th IEEE\/ACM International Conference on Automated Software Engineering Workshops, ASEW \u201924, Sacramento, CA, USA."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"4171","DOI":"10.1007\/s10586-024-04526-z","article-title":"Benchmarking Micro2Micro transformation: An approach with GNN and VAE","volume":"27","author":"Chy","year":"2024","journal-title":"Clust. Comput."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Mathai, A., Bandyopadhyay, S., Desai, U., and Tamilselvam, S. (2022, January 23\u201329). Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network. Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence, Vienna, Austria.","DOI":"10.24963\/ijcai.2022\/542"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Zhang, C., Song, D., Huang, C., Swami, A., and Chawla, N.V. (2019, January 4\u20138). Heterogeneous Graph Neural Network. Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, KDD \u201919, Anchorage, AK, USA.","DOI":"10.1145\/3292500.3330961"},{"key":"ref_20","unstructured":"Yedida, R., Krishna, R., Kalia, A., Menzies, T., Xiao, J., and Vukovic, M. (2021). Partitioning Cloud-based Microservices (via Deep Learning). arXiv."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Trabelsi, I., Moha, N., Gu\u00e9h\u00e9neuc, Y.G., and Geffard, L. (2024, January 4\u20138). Magnet: Method-Based Approach Using Graph Neural Network for Microservices Identification. Proceedings of the 2024 IEEE 21st International Conference on Software Architecture (ICSA), Hyderabad, India.","DOI":"10.1109\/ICSA59870.2024.00009"},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"112345","DOI":"10.1016\/j.jss.2025.112345","article-title":"Extracting microservices from monolithic applications using consistent graph enhanced Graph Transformer","volume":"222","author":"Wei","year":"2025","journal-title":"J. Syst. Softw."},{"key":"ref_23","first-page":"1","article-title":"Transformation of Monolithic Applications towards Microservices","volume":"4","author":"Mushtaq","year":"2022","journal-title":"Environ. Int."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"23389","DOI":"10.1109\/ACCESS.2024.3365079","article-title":"Evolution of Microservices Identification in Monolith Decomposition: A Systematic Review","volume":"12","author":"Oumoussa","year":"2024","journal-title":"IEEE Access"},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"107590","DOI":"10.1016\/j.infsof.2024.107590","article-title":"Migration of monolithic systems to microservices: A systematic mapping study","volume":"177","year":"2025","journal-title":"Inf. Softw. Technol."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"4213","DOI":"10.1109\/TSE.2023.3287297","article-title":"Decomposition of Monolith Applications Into Microservices Architectures: A Systematic Review","volume":"49","author":"Abgaz","year":"2023","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_27","first-page":"104","article-title":"Migrating from Monolithic to Microservice Architectures: A Systematic Literature Review","volume":"15","author":"Hassan","year":"2024","journal-title":"Int. J. Adv. Comput. Sci. Appl."}],"container-title":["Future Internet"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-5903\/17\/7\/303\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T18:09:16Z","timestamp":1760033356000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-5903\/17\/7\/303"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,7,13]]},"references-count":27,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2025,7]]}},"alternative-id":["fi17070303"],"URL":"https:\/\/doi.org\/10.3390\/fi17070303","relation":{},"ISSN":["1999-5903"],"issn-type":[{"value":"1999-5903","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,7,13]]}}}