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

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.

Cite

Text

Mathai et al. "Monolith to Microservices: Representing Application Software Through Heterogeneous Graph Neural Network." International Joint Conference on Artificial Intelligence, 2022. doi:10.24963/IJCAI.2022/542

Markdown

[Mathai et al. "Monolith to Microservices: Representing Application Software Through Heterogeneous Graph Neural Network." International Joint Conference on Artificial Intelligence, 2022.](https://mlanthology.org/ijcai/2022/mathai2022ijcai-monolith/) doi:10.24963/IJCAI.2022/542

BibTeX

@inproceedings{mathai2022ijcai-monolith,
  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 = {International Joint Conference on Artificial Intelligence},
  year      = {2022},
  pages     = {3905-3911},
  doi       = {10.24963/IJCAI.2022/542},
  url       = {https://mlanthology.org/ijcai/2022/mathai2022ijcai-monolith/}
}