Proceedings

Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network

Video #1 Video #2 Download BibTeX Cite

Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence. Main Track. Pages 3905-3911.

https://doi.org/10.24963/ijcai.2022/542

Abstract

Monolithic software encapsulates all functional capabilities into a single deployable unit. But managing it becomes harder as the demand for new functionalities grow. Microservice architecture is seen as an alternative as it advocates building an application through a set of loosely coupled small services wherein each service owns a single functional responsibility. But the challenges associated with the separation of functional modules, slows down the migration of a monolithic code into microservices. In this work, we propose a representation learning based solution to tackle this problem. We use a heterogeneous graph to jointly represent software artifacts (like programs and resources) and the different relationships they share (function calls, inheritance, etc.), and perform a constraint-based clustering through a novel heterogeneous graph neural network. Experimental studies show that our approach is effective on monoliths of different types.

  1. [Arthur and Vassilvitskii, 2006] David Arthur and Sergei Vassilvitskii. k-means++: The advantages of careful seed- ing. Technical report, Stanford, 2006.
  2. [Bandyopadhyay et al., 2019] Sambaran Bandyopadhyay, Anirban Biswas, M Narasimha Murty, and Ramasuri Narayanam. Beyond node embedding: a direct unsuper- vised edge representation framework for homogeneous networks. arXiv preprint arXiv:1912.05140, 2019.
  3. [Desai et al., 2021] Utkarsh Desai, Sambaran Bandyopad- hyay, and Srikanth Tamilselvam. Graph neural network to dilute outliers for refactoring monolith application. In Proceedings of 35th AAAI Conference on Artificial Intelli- gence (AAAI'21), 2021.
  4. [Dietrich et al., 2018] Jens Dietrich, Franc ¸ois Gauthier, and Padmanabhan Krishnan. Driver generation for java ee web applications. In 2018 25th Australasian Software Engineering Conference (ASWEC), pages 121-125. IEEE, 2018.
  5. [Fortunato, 2010] Santo Fortunato. Community detection in graphs. Physics Reports, 486(3-5):75-174, Feb 2010.
  6. [Harman et al., 2002] Mark Harman, Robert M Hierons, and Mark Proctor. A new representation and crossover opera- tor for search-based optimization of software modulariza- tion. In GECCO, volume 2, pages 1351-1358, 2002.
  7. [Jiang et al., 2019] Xiaodong Jiang, Pengsheng Ji, and Sheng Li. Censnet: Convolution with edge-node switch- ing in graph neural networks. In IJCAI, pages 2656-2662, 2019. IJCAI
  8. [Jin et al., 2019] Wuxia Jin, Ting Liu, Yuanfang Cai, Rick Kazman, Ran Mo, and Qinghua Zheng. Service candidate identification from monolithic systems based on execution traces. IEEE Transactions on Software Engineering, 2019.
  9. [Kalia et al., 2020] Anup K Kalia, Jin Xiao, Chen Lin, Saurabh Sinha, John Rofrano, Maja Vukovic, and Deba- sish Banerjee. Mono2micro: an ai-based toolchain for evolving monolithic enterprise applications to a microser- vice architecture. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineer- ing, pages 1606-1610, 2020.
  10. [Kipf and Welling, 2017] Thomas N. Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net, 2017.
  11. [Kuryazov et al., 2020] Dilshodbek Kuryazov, Dilshod Jab- borov, and Bekmurod Khujamuratov. Towards decom- posing monolithic applications into microservices. In 2020 IEEE 14th International Conference on Application of Information and Communication Technologies (AICT), pages 1-4. IEEE, 2020. [Mahouachi, 2018] Rim Mahouachi. Search-based cost- effective software remodularization. Journal of Computer Science and Technology, 33(6):1320-1336, 2018.
  12. [Mancoridis et al., 1998] Spiros Mancoridis, Brian S Mitchell, Chris Rorres, Y Chen, and Emden R Gansner. Using automatic clustering to produce high-level system organizations of source code. In Proceedings. 6th Interna- tional Workshop on Program Comprehension. IWPC'98 (Cat. No. 98TB100242), pages 45-52. IEEE, 1998.
  13. [Mancoridis et al., 1999] Spiros Mancoridis, Brian S Mitchell, Yihfarn Chen, and Emden R Gansner. Bunch: A clustering tool for the recovery and maintenance of software system structures. In Proceedings IEEE International Conference on Software Maintenance- 1999 (ICSM'99).'Software Maintenance for Business Change'(Cat. No. 99CB36360), pages 50-59. IEEE, 1999.
  14. [Mazlami et al., 2017] G. Mazlami, J. Cito, and P. Leitner. Extraction of microservices from monolithic software ar- chitectures. In 2017 IEEE International Conference on Web Services (ICWS), pages 524-531, 2017.
  15. [Newman and Girvan, 2004] Mark EJ Newman and Michelle Girvan. Finding and evaluating community structure in networks. Physical review E, 69(2):026113, 2004.
  16. [Thönes, 2015] Johannes Thönes. Microservices. IEEE soft- ware, 32(1):116-116, 2015.
  17. [Tzerpos and Holt, 2000] Vassilios Tzerpos and Richard C Holt. Accd: an algorithm for comprehension-driven clus- tering. In Proceedings Seventh Working Conference on Reverse Engineering, pages 258-267. IEEE, 2000.
  18. [Vashishth et al., 2020] Shikhar Vashishth, Soumya Sanyal, Vikram Nitin, and Partha Talukdar. Composition-based multi-relational graph convolutional networks. In Interna- tional Conference on Learning Representations, 2020.
  19. [Veličković et al., 2018] Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, and Yoshua Bengio. Graph attention networks. In Interna- tional Conference on Learning Representations, 2018.
  20. [Wang et al., 2019] Xiao Wang, Houye Ji, Chuan Shi, Bai Wang, Yanfang Ye, Peng Cui, and Philip S Yu. Hetero- geneous graph attention network. In The World Wide Web Conference, pages 2022-2032, 2019.
  21. [Wu et al., 2005] Jingwei Wu, Ahmed E Hassan, and Richard C Holt. Comparison of clustering algorithms in the context of software evolution. In 21st IEEE Interna- tional Conference on Software Maintenance (ICSM'05), pages 525-535. IEEE, 2005.
  22. [Xu et al., 2019] Keyulu Xu, Weihua Hu, Jure Leskovec, and Stefanie Jegelka. How powerful are graph neural net- works? In International Conference on Learning Rep- resentations, 2019.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards