Ziv Nevo, Orna Raz, et al.
ASE 2025
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.
Ziv Nevo, Orna Raz, et al.
ASE 2025
Anup K. Kalia, Jin Xiao, et al.
ESEC/FSE 2020
Jasmina Bogojeska, Ioana Giurgiu, et al.
Interfaces
James McCarthy, Rahul Nair, et al.
IJCAI 2022