Skip to main content

Dynamic and Static Feature-Aware Microservices Decomposition via Graph Neural Networks

  • Conference paper
  • First Online:
Knowledge Science, Engineering and Management (KSEM 2023)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 14117))

Abstract

Microservices architecture has gained significant success in software development due to its flexibility and scalability. Decomposing a monolithic system into microservices can increase code reusability and reduce reconstruction costs. However, existing microservices decomposition approaches only utilize dynamic or static feature to represent the monolithic system, leading to low coverage of classes and inadequate information. To address these issues, we propose a novel Microservices Decomposition approach with the Dynamic and Static feature-aware called MDDS, which combines dynamic and static feature to construct a graph that represents the monolithic system. We also propose an approach based on variational graph auto-encoders to learn the nodes’ representations in the graph, providing similar encodings to functionally similar classes to enhance microservices clustering. Extensive experiments on four traditional monolithic systems demonstrate that MDDS outperforms other baselines in several significant metrics.

This work was supported in part by the Shanghai Science and Technology Innovation Action Plan Project under Grant 22511100700.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 8464
Price includes VAT (Japan)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 10581
Price includes VAT (Japan)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/mybatis/jpetstore-6.

  2. 2.

    https://github.com/Raysmond/SpringBlog.

  3. 3.

    https://github.com/rafaelsteil/jforum2.

  4. 4.

    https://github.com/apache/roller.

References

  1. Fritzsch, J., Bogner, J., Wagner, S., Zimmermann, A.: Microservices migration in industry: intentions, strategies, and challenges. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 481–490. IEEE (2019)

    Google Scholar 

  2. Gonzalez, D., Ravesh, R., Sharma, S.: Microservices: Building Scalable Software. Packt Publishing (2017)

    Google Scholar 

  3. Taibi, D., Kehoe, B., Poccia, D.: Serverless: from bad practices to good solutions. In: 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 85–92. IEEE (2022)

    Google Scholar 

  4. Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: 2018 IEEE International Conference on Web Services (ICWS), pp. 211–218. IEEE (2018)

    Google Scholar 

  5. Abdullah, M., Iqbal, W., Erradi, A.: Unsupervised learning approach for web application auto-decomposition into microservices. J. Syst. Softw. 151, 243–257 (2019)

    Article  Google Scholar 

  6. Taibi, D., Systä, K.: From monolithic systems to microservices: a decomposition framework based on process mining (2019)

    Google Scholar 

  7. Kalia, A.K., Xiao, J., Krishna, R., Sinha, S., Vukovic, M., Banerjee, D.: Mono2micro: a practical and effective tool for decomposing monolithic java applications to microservices. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1214–1224 (2021)

    Google Scholar 

  8. Al Maruf, A., Bakhtin, A., Cerny, T., Taibi, D.: Using microservice telemetry data for system dynamic analysis. In: 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 29–38. IEEE (2022)

    Google Scholar 

  9. Kamimura, M., Yano, K., Hatano, T., Matsuo, A.: Extracting candidates of microservices from monolithic application code. In: 2018 25th Asia-Pacific Software Engineering Conference (APSEC), pp. 571–580. IEEE (2018)

    Google Scholar 

  10. Al-Debagy, O., Martinek, P.: A microservice decomposition method through using distributed representation of source code. Scal. Comput. Pract. Exp. 22(1), 39–52 (2021)

    Google Scholar 

  11. Nunes, L., Santos, N., Rito Silva, A.: From a monolith to a microservices architecture: an approach based on transactional contexts. In: Bures, T., Duchien, L., Inverardi, P. (eds.) ECSA 2019. LNCS, vol. 11681, pp. 37–52. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29983-5_3

    Chapter  Google Scholar 

  12. Sellami, K., Ouni, A., Saied, M.A., Bouktif, S., Mkaouer, M.W.: Improving microservices extraction using evolutionary search. Inf. Softw. Technol. 151, 106996 (2022)

    Article  Google Scholar 

  13. Newman, M.E., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004)

    Article  Google Scholar 

  14. Guang, M., Yan, C., Xu, Y., Wang, J., Jiang, C.: A multichannel convolutional decoding network for graph classification. IEEE Trans. Neural Netw. Learn. Syst. (2023)

    Google Scholar 

  15. Guang, M., Yan, C., Wang, J., Qi, H., Jiang, C.: Benchmark datasets for stochastic petri net learning. In: 2021 International Joint Conference on Neural Networks (IJCNN), pp. 1–8. IEEE (2021)

    Google Scholar 

  16. Kipf, T.N., Welling, M.: Variational graph auto-encoders. arXiv preprint arXiv:1611.07308 (2016)

  17. Guang, M., Yan, C., Liu, G., Wang, J., Jiang, C.: A novel neighborhood-weighted sampling method for imbalanced datasets. Chin. J. Electron. 31(5), 969–979 (2022)

    Article  Google Scholar 

  18. Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524–531. IEEE (2017)

    Google Scholar 

  19. Li, J., Xu, H., Xu, X., Wang, Z.: A novel method for identifying microservices by considering quality expectations and deployment constraints. Int. J. Softw. Eng. Knowl. Eng. 32(03), 417–437 (2022)

    Article  Google Scholar 

  20. Kinoshita, T., Kanuka, H.: Automated microservice decomposition method as multi-objective optimization. In: 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), pp. 112–115. IEEE (2022)

    Google Scholar 

  21. Van Hoorn, A., Waller, J., Hasselbring, W.: Kieker: a framework for application performance monitoring and dynamic software analysis. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, pp. 247–248 (2012)

    Google Scholar 

  22. Cerny, T., Taibi, D.: Static analysis tools in the era of cloud-native systems. arXiv preprint arXiv:2205.08527 (2022)

  23. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  24. Alon, U., Zilberstein, M., Levy, O., Yahav, E.: Code2vec: learning distributed representations of code. Proc. ACM Program. Lang. 3(POPL), 1–29 (2019)

    Google Scholar 

  25. Andritsos, P., Tzerpos, V.: Information-theoretic software clustering. IEEE Trans. Softw. Eng. 31(2), 150–165 (2005)

    Article  Google Scholar 

  26. Athanasopoulos, D., Zarras, A.V., Miskos, G., Issarny, V., Vassiliadis, P.: Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans. Serv. Comput. 8(4), 550–562 (2014)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chungang Yan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chen, L., Guang, M., Wang, J., Yan, C. (2023). Dynamic and Static Feature-Aware Microservices Decomposition via Graph Neural Networks. In: Jin, Z., Jiang, Y., Buchmann, R.A., Bi, Y., Ghiran, AM., Ma, W. (eds) Knowledge Science, Engineering and Management. KSEM 2023. Lecture Notes in Computer Science(), vol 14117. Springer, Cham. https://doi.org/10.1007/978-3-031-40283-8_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-40283-8_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-40282-1

  • Online ISBN: 978-3-031-40283-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics