Monolith to Microservices: Representing Application Software through
Heterogeneous GNN
- URL: http://arxiv.org/abs/2112.01317v1
- Date: Wed, 1 Dec 2021 15:27:45 GMT
- Title: Monolith to Microservices: Representing Application Software through
Heterogeneous GNN
- Authors: Alex Mathai, Sambaran Bandyopadhyay, Utkarsh Desai, Srikanth
Tamilselvam
- Abstract summary: Microservice architectures are increasingly used as they advocate building an application through multiple smaller sized, loosely coupled functional services.
This approach has made programming architecture as the natural choice for cloud based applications.
But the challenges in the automated separation of functional modules for the already written monolith code slows down their migration task.
We deduce this traditional application problem to a heterogeneous graph based clustering task.
Our solution is the first of its kind to leverage heterogeneous graph neural network to learn representations of such diverse software entities.
- Score: 11.381828510219897
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Monolith software applications encapsulate all functional capabilities into a
single deployable unit. While there is an intention to maintain clean
separation of functionalities even within the monolith, they tend to get
compromised with the growing demand for new functionalities, changing team
members, tough timelines, non-availability of skill sets, etc. As such
applications age, they become hard to understand and maintain. Therefore,
microservice architectures are increasingly used as they advocate building an
application through multiple smaller sized, loosely coupled functional
services, wherein each service owns a single functional responsibility. This
approach has made microservices architecture as the natural choice for cloud
based applications. But the challenges in the automated separation of
functional modules for the already written monolith code slows down their
migration task.
Graphs are a natural choice to represent software applications. Various
software artifacts like programs, tables and files become nodes in the graph
and the different relationships they share, such as function calls,
inheritance, resource(tables, files) access types (Create, Read, Update,
Delete) can be represented as links in the graph. We therefore deduce this
traditional application decomposition problem to a heterogeneous graph based
clustering task. Our solution is the first of its kind to leverage
heterogeneous graph neural network to learn representations of such diverse
software entities and their relationships for the clustering task. We study the
effectiveness by comparing with works from both software engineering and
existing graph representation based techniques. We experiment with applications
written in an object oriented language like Java and a procedural language like
COBOL and show that our work is applicable across different programming
paradigms.
Related papers
- RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph [63.87660059104077]
We present RepoGraph, a plug-in module that manages a repository-level structure for modern AI software engineering solutions.
RepoGraph substantially boosts the performance of all systems, leading to a new state-of-the-art among open-source frameworks.
arXiv Detail & Related papers (2024-10-03T05:45:26Z) - CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases [13.733229886643041]
Large Language Models (LLMs) excel in stand-alone code tasks like HumanEval and MBPP, but struggle with handling entire code repositories.
Similarity-based retrieval often has low recall in complex tasks, while manual tools and APIs are typically task-specific and require expert knowledge.
We introduce CodexGraph, a system that integrates LLM agents with graph database interfaces extracted from code repositories.
arXiv Detail & Related papers (2024-08-07T17:13:59Z) - Can Graph Learning Improve Planning in LLM-based Agents? [61.47027387839096]
Task planning in language agents is emerging as an important research topic alongside the development of large language models (LLMs)
In this paper, we explore graph learning-based methods for task planning, a direction that is to the prevalent focus on prompt design.
Our interest in graph learning stems from a theoretical discovery: the biases of attention and auto-regressive loss impede LLMs' ability to effectively navigate decision-making on graphs.
arXiv Detail & Related papers (2024-05-29T14:26:24Z) - ControlLLM: Augment Language Models with Tools by Searching on Graphs [97.62758830255002]
We present ControlLLM, a novel framework that enables large language models (LLMs) to utilize multi-modal tools for solving real-world tasks.
Our framework comprises three key components: (1) a textittask decomposer that breaks down a complex task into clear subtasks with well-defined inputs and outputs; (2) a textitThoughts-on-Graph (ToG) paradigm that searches the optimal solution path on a pre-built tool graph; and (3) an textitexecution engine with a rich toolbox that interprets the solution path and runs the
arXiv Detail & Related papers (2023-10-26T21:57:21Z) - Handling Communication via APIs for Microservices [6.5499625417846685]
We discuss the challenges with conventional techniques of communication using and propose an alternative way of ID-passing via APIs.
We also devise an algorithm to reduce the number of APIs.
arXiv Detail & Related papers (2023-08-02T17:40:34Z) - Neural Graph Reasoning: Complex Logical Query Answering Meets Graph
Databases [63.96793270418793]
Complex logical query answering (CLQA) is a recently emerged task of graph machine learning.
We introduce the concept of Neural Graph Database (NGDBs)
NGDB consists of a Neural Graph Storage and a Neural Graph Engine.
arXiv Detail & Related papers (2023-03-26T04:03:37Z) - Graph-PHPA: Graph-based Proactive Horizontal Pod Autoscaling for
Microservices using LSTM-GNN [4.4345763263216895]
Graph-PHPA is a graph-based proactive autoscaling strategy for allocating cloud resources.
We demonstrate the efficacy of Graph-PHPA by comparing it with the rule-based resource allocation scheme in as our baseline.
arXiv Detail & Related papers (2022-09-06T14:57:53Z) - Arch-Graph: Acyclic Architecture Relation Predictor for
Task-Transferable Neural Architecture Search [96.31315520244605]
Arch-Graph is a transferable NAS method that predicts task-specific optimal architectures.
We show Arch-Graph's transferability and high sample efficiency across numerous tasks.
It is able to find top 0.16% and 0.29% architectures on average on two search spaces under the budget of only 50 models.
arXiv Detail & Related papers (2022-04-12T16:46:06Z) - Mapping the Internet: Modelling Entity Interactions in Complex
Heterogeneous Networks [0.0]
We propose a versatile, unified framework called HMill' for sample representation, model definition and training.
We show an extension of the universal approximation theorem to the set of all functions realized by models implemented in the framework.
We solve three different problems from the cybersecurity domain using the framework.
arXiv Detail & Related papers (2021-04-19T21:32:44Z) - Graph Neural Network to Dilute Outliers for Refactoring Monolith
Application [12.43382998243009]
We propose a novel method to adapt the recent advancements in graph networks in the context of code to better understand the software.
Our solution is able to improve state-of-the-art performance compared to works from both software engineering and existing graph representation based techniques.
arXiv Detail & Related papers (2021-02-07T16:00:27Z) - MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and
Architectures [61.73533544385352]
We propose a transferable perturbation, MetaPerturb, which is meta-learned to improve generalization performance on unseen data.
As MetaPerturb is a set-function trained over diverse distributions across layers and tasks, it can generalize heterogeneous tasks and architectures.
arXiv Detail & Related papers (2020-06-13T02:54:59Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.