Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network
Alex Mathai, Sambaran Bandyopadhyay, Utkarsh Desai, Srikanth Tamilselvam
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.
BibTeX
@inproceedings{ijcai2022p542,
title = {Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network},
author = {Mathai, Alex and Bandyopadhyay, Sambaran and Desai, Utkarsh and Tamilselvam, Srikanth},
booktitle = {Proceedings of the Thirty-First International Joint Conference on
Artificial Intelligence, {IJCAI-22}},
publisher = {International Joint Conferences on Artificial Intelligence Organization},
editor = {Lud De Raedt},
pages = {3905--3911},
year = {2022},
month = {7},
note = {Main Track},
doi = {10.24963/ijcai.2022/542},
url = {https://doi.org/10.24963/ijcai.2022/542},
}