{"type":"ScholarlyArticle","title":"Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network","authors":[{"name":"Alex Mathai","slug":"alex-mathai","given":"Alex","family":"Mathai","affiliation":"IBM Research"},{"name":"Sambaran Bandyopadhyay","slug":"sambaran-bandyopadhyay","given":"Sambaran","family":"Bandyopadhyay","affiliation":"Amazon"},{"name":"Utkarsh Desai","slug":"utkarsh-desai","given":"Utkarsh","family":"Desai","affiliation":"IBM Research"},{"name":"Srikanth Tamilselvam","slug":"srikanth-tamilselvam","given":"Srikanth","family":"Tamilselvam","affiliation":"IBM Research"}],"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.","doi":"10.24963/ijcai.2022/542","url":"https://ijcai.org/proceedings/2022/542","pdf":"https://ijcai.org/proceedings/2022/0542.pdf","markdown":"https://ijcai.org/proceedings/2022/542.md","bibtex":"https://ijcai.org/proceedings/2022/bibtex/542","volume":{"slug":"2022","title":"Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2022","url":"https://ijcai.org/proceedings/2022/","year":2022,"location":"Vienna","dates":"23-29 July 2022","editors":"Luc De Raedt","isbn":"978-1-956792-00-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2022"},"section":"Multidisciplinary Topics and Applications","track":"Main Track","number":542,"pages":{"first":3905,"last":3911},"keywords":["Machine Learning: Applications","Machine Learning: Representation learning","Multidisciplinary Topics and Applications: Software Engineering"],"videos":[{"label":"Video #1","url":"https://slideslive.com/38986807","length_sec":94,"provider":"slideslive"},{"label":"Video #2","url":"https://slideslive.com/38984950","length_sec":354,"provider":"slideslive"}],"references":[{"position":1,"raw":"[Arthur and Vassilvitskii, 2006] David Arthur and Sergei Vassilvitskii. k-means++: The advantages of careful seed- ing. Technical report, Stanford, 2006.","title":"David Arthur and Sergei Vassilvitskii. k-means++: The advantages of careful seeding","authors":"Vassilvitskii Arthur","year":"2006","venue":null,"doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[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.","title":"Beyond node embedding: a direct unsupervised edge representation framework for homogeneous networks","authors":"Bandyopadhyay","year":"2019","venue":null,"doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[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.","title":"Graph neural network to dilute outliers for refactoring monolith application","authors":"Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam","year":"2021","venue":"Proceedings of 35th AAAI Conference on Artificial Intelligence (AAAI'21)","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[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.","title":"Driver generation for java ee web applications","authors":"Dietrich","year":"2018","venue":"25th Australasian Software Engineering Conference (ASWEC)","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Fortunato, 2010] Santo Fortunato. Community detection in graphs. Physics Reports, 486(3-5):75-174, Feb 2010.","title":"Santo Fortunato. Community detection in graphs","authors":"Fortunato","year":"2010","venue":"Physics Reports","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[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.","title":"A new representation and crossover operator for search-based optimization of software modularization","authors":"Mark Harman, Robert M Hierons, Mark Proctor","year":"2002","venue":"GECCO","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[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.","title":"Censnet: Convolution with edge-node switching in graph neural networks","authors":"Xiaodong Jiang, Pengsheng Ji, Sheng Li","year":"2019","venue":"IJCAI","doi":null,"url":null,"internal_url":"/proceedings/2019/369"},{"position":8,"raw":"[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.","title":"Service candidate identification from monolithic systems based on execution traces","authors":"Jin","year":"2019","venue":"IEEE Transactions on Software Engineering","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[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.","title":"Mono2micro: an ai-based toolchain for evolving monolithic enterprise applications to a microservice architecture","authors":"Jin Anup K Kalia, Chen Xiao, Saurabh Lin, John Sinha, Maja Rofrano, Debasish Vukovic, Banerjee","year":"2020","venue":"Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[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.","title":"Semi-supervised classification with graph convolutional networks","authors":"Thomas N Kipf, Max Welling","year":"2017","venue":"5th International Conference on Learning Representations, ICLR 2017","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[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.","title":"Dilshodbek Kuryazov, Dilshod Jabborov, and Bekmurod Khujamuratov. Towards decomposing monolithic applications into microservices","authors":"Kuryazov","year":"2018","venue":"IEEE 14th International Conference on Application of Information and Communication Technologies (AICT)","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[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.","title":"Using automatic clustering to produce high-level system organizations of source code","authors":"Spiros Mancoridis, Brian S Mitchell, Chris Rorres, Y Chen, Emden R Gansner","year":"1998","venue":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[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.","title":"Bunch: A clustering tool for the recovery and maintenance of software system structures","authors":"Spiros Mancoridis, Brian S Mitchell, Yihfarn Chen, Emden R Gansner","year":"1999","venue":"Proceedings IEEE International Conference on Software Maintenance-1999 (ICSM'99)","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[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.","title":"Extraction of microservices from monolithic software architectures","authors":"G Mazlami, J Cito, P Leitner","year":"2017","venue":"IEEE International Conference on Web Services (ICWS)","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Newman and Girvan, 2004] Mark EJ Newman and Michelle Girvan. Finding and evaluating community structure in networks. Physical review E, 69(2):026113, 2004.","title":"Finding and evaluating community structure in networks","authors":"Girvan ; Newman, E J Mark, Michelle Newman, Girvan","year":"2004","venue":"Physical review E","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Thönes, 2015] Johannes Thönes. Microservices. IEEE soft- ware, 32(1):116-116, 2015.","title":"Johannes Thönes. Microservices","authors":"Thönes","year":"2015","venue":"IEEE software","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[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.","title":"Accd: an algorithm for comprehension-driven clustering","authors":"Vassilios Tzerpos, Richard C Holt","year":"2000","venue":"Proceedings Seventh Working Conference on Reverse Engineering","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[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.","title":"Composition-based multi-relational graph convolutional networks","authors":"Shikhar Vashishth, Soumya Sanyal, Nitin Vikram, Partha Talukdar","year":"2020","venue":"International Conference on Learning Representations","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[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.","title":"Graph attention networks","authors":"Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, Yoshua Bengio","year":"2018","venue":"International Conference on Learning Representations","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[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.","title":"Heterogeneous graph attention network","authors":"Xiao Wang, Houye Ji, Chuan Shi, Bai Wang, Yanfang Ye, Peng Cui, Philip S Yu","year":"2019","venue":"The World Wide Web Conference","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[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.","title":"Comparison of clustering algorithms in the context of software evolution","authors":"Wu","year":"2005","venue":"21st IEEE International Conference on Software Maintenance (ICSM'05)","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[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.","title":"How powerful are graph neural networks","authors":"Xu","year":"2019","venue":"International Conference on Learning Representations","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}