English

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

Software Engineering 2022-05-23 v3 Artificial Intelligence

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 alternate 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.

Keywords

Cite

@article{arxiv.2112.01317,
  title  = {Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network},
  author = {Alex Mathai and Sambaran Bandyopadhyay and Utkarsh Desai and Srikanth Tamilselvam},
  journal= {arXiv preprint arXiv:2112.01317},
  year   = {2022}
}

Comments

The paper has been accepted for publication at IJCAI-ECAI 2022 (main research track)

R2 v1 2026-06-24T08:01:47.086Z