Graph Neural Network to Dilute Outliers for Refactoring Monolith Application
@inproceedings{Desai2021GraphNN, title={Graph Neural Network to Dilute Outliers for Refactoring Monolith Application}, author={Utkarsh Desai and Sambaran Bandyopadhyay and Srikanth G. Tamilselvam}, booktitle={AAAI Conference on Artificial Intelligence}, year={2021} }
Microservices are becoming the defacto design choice for software architecture. It involves partitioning the software components into finer modules such that the development can happen independently. It also provides natural benefits when deployed on the cloud since resources can be allocated dynamically to necessary components based on demand. Therefore, enterprises as part of their journey to cloud, are increasingly looking to refactor their monolith application into one or more candidate…
Figures and Tables from this paper
19 Citations
CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices Architecture
- Computer ScienceASE
- 2022
CARGO is a novel un-/semi-supervised partition refinement technique that uses a context- and flow-sensitive system dependency graph of the monolithic application to refine and thereby enrich the partitioning quality of the current state-of-the-art algorithms.
A Hierarchical DBSCAN Method for Extracting Microservices from Monolithic Applications
- Computer ScienceEASE
- 2022
A method that can identify potential microservices from a given monolithic application and generate microservices that are overall more cohesive and that have fewer interactions in-between them with up to 0.9 of precision score when compared to human-designed microservices is proposed.
Monolith to Microservices: Representing Application Software through Heterogeneous GNN
- Computer ScienceArXiv
- 2021
The 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 and study the effectiveness by comparing with works from both software engineering and existing graph representation based techniques.
An Expert System for Redesigning Software for Cloud Applications
- Computer Science
- 2021
This work proposes DEEPLY, a new algorithm that extends the CO-GCN deep learning partition generator with (a) a novel loss function and (b) some hyper-parameter optimization that generally outperforms prior work across multiple datasets and goals.
Monolith to Microservices: VAE-Based GNN Approach with Duplication Consideration
- Computer Science2022 IEEE International Conference on Service-Oriented System Engineering (SOSE)
- 2022
This work applies the variational autoencoder to extract features of classes and uses the fuzzy c means to group the classes into microservices according to their extracted features, and finds that it is helpful in terms of reducing the overhead of communications between microservices.
Automate migration to microservices architecture using Machine Learning techniques
- Computer Science
- 2023
This report proposes a method by which potential microservices can be identified from a given monolithic application while treating this problem as a clustering thematic.
Partitioning Cloud-based Microservices (via Deep Learning)
- Computer ScienceArXiv
- 2021
This new algorithm extends the CO-GCN deep learning partition generator with (a) a novel loss function and (b) some hyper-parameter optimization, and generally outperforms prior work (including COGCN, and others) across multiple datasets and goals.
A Survey on Graph Neural Networks for Microservice-Based Cloud Applications
- Computer ScienceSensors
- 2022
The research shows the popularity of leveraging convolutionalgraph neural networks for microservice-based applications in the current design of cloud systems and the emerging area of adopting spatio-temporal graph neural networks (STGNNs) and dynamic graph neural network (DGNN) for more advanced studies.
Lessons learned from hyper-parameter tuning for microservice candidate identification
- Computer Science2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)
- 2021
Using a set of open source Java EE applications, it is shown that hyperparameter optimization can significantly improve microservice partitioning and an open issue for future work is how to find which optimizer works best for different problems.
A service graph based extraction of microservices from monolith services of service‐oriented architecture
- Computer ScienceSoftw. Pract. Exp.
- 2022
This work proposes an approach to extract the candidate microservices from the existing legacy applications using graph based algorithms, and extracted the microservices.
References
SHOWING 1-10 OF 33 REFERENCES
Comparison of Graph Clustering Algorithms for Recovering Software Architecture Module Views
- Computer Science2009 13th European Conference on Software Maintenance and Reengineering
- 2009
An empirical study that evaluates four clustering algorithms according to three previously proposed criteria: extremity of cluster distribution, authoritativeness, and stability, which were measured against consecutive releases of four different systems suggest that the k-means algorithm performs best in terms of author itativeness and extremity and the modularization quality algorithm produces more stable clusters.
Extraction of Microservices from Monolithic Software Architectures
- Computer Science2017 IEEE International Conference on Web Services (ICWS)
- 2017
A formal microservice extraction model is presented to allow algorithmic recommendation of micro service candidates in a refactoring and migration scenario and shows that the produced microservice candidates lower the average development team size down to half of the original size or lower.
From Monolith to Microservices: A Classification of Refactoring Approaches
- Computer ScienceDEVOPS
- 2018
The notion of architectural refactoring is discussed and a variety of strategies to break down a monolithic application into independent services are yielded, with one exception, most approaches only applicable under certain conditions.
Service Candidate Identification from Monolithic Systems Based on Execution Traces
- Computer ScienceIEEE Transactions on Software Engineering
- 2021
The Functionality-oriented Service Candidate Identification (FoSCI) framework to identify service candidates from a monolithic system is proposed, to record the monolith's execution traces, and extract services candidates using a search-based functional atom grouping algorithm.
Representation Learning on Graphs: Methods and Applications
- Computer ScienceIEEE Data Eng. Bull.
- 2017
A conceptual review of key advancements in this area of representation learning on graphs, including matrix factorization-based methods, random-walk based algorithms, and graph neural networks are provided.
Supervised Community Detection with Line Graph Neural Networks
- Computer ScienceICLR
- 2019
This work presents a novel family of Graph Neural Networks (GNNs) for solving community detection problems in a supervised learning setting and shows that, in a data-driven manner and without access to the underlying generative models, they can match or even surpass the performance of the belief propagation algorithm on binary and multi-class stochastic block models.
A Comprehensive Survey on Graph Neural Networks
- Computer ScienceIEEE Transactions on Neural Networks and Learning Systems
- 2019
This article provides a comprehensive overview of graph neural networks (GNNs) in data mining and machine learning fields and proposes a new taxonomy to divide the state-of-the-art GNNs into four categories, namely, recurrent GNNS, convolutional GNN’s, graph autoencoders, and spatial–temporal Gnns.
Outlier Resistant Unsupervised Deep Architectures for Attributed Network Embedding
- Computer ScienceWSDM
- 2020
This work proposes a deep unsupervised autoencoders based solution which minimizes the effect of outlier nodes while generating the network embedding, and proposes a second unsuper supervised deep model which learns by discriminating the structure and the attribute based embeddings of the network and minimizesThe effect of outliers in a coupled way.
node2vec: Scalable Feature Learning for Networks
- Computer ScienceKDD
- 2016
In node2vec, an algorithmic framework for learning continuous feature representations for nodes in networks, a flexible notion of a node's network neighborhood is defined and a biased random walk procedure is designed, which efficiently explores diverse neighborhoods.
Clustering Methodologies for Software Engineering
- Computer ScienceAdv. Softw. Eng.
- 2012
The state of the art in software clustering research is presented and the clustering methods that have received the most attention from the research community are discussed and outline their strengths and weaknesses.