Graph Neural Network to Dilute Outliers for Refactoring Monolith
Application
- URL: http://arxiv.org/abs/2102.03827v1
- Date: Sun, 7 Feb 2021 16:00:27 GMT
- Title: Graph Neural Network to Dilute Outliers for Refactoring Monolith
Application
- Authors: Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam
- Abstract summary: 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.
- Score: 12.43382998243009
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: 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 microservices; wherein each
service contains a group of software entities (e.g., classes) that are
responsible for a common functionality. Graphs are a natural choice to
represent a software system. Each software entity can be represented as nodes
and its dependencies with other entities as links. Therefore, this problem of
refactoring can be viewed as a graph based clustering task. In this work, we
propose a novel method to adapt the recent advancements in graph neural
networks in the context of code to better understand the software and apply
them in the clustering task. In that process, we also identify the outliers in
the graph which can be directly mapped to top refactor candidates in 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.
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) - GraphStorm: all-in-one graph machine learning framework for industry applications [75.23076561638348]
GraphStorm is an end-to-end solution for scalable graph construction, graph model training and inference.
Every component in GraphStorm can operate on graphs with billions of nodes and can scale model training and inference to different hardware without changing any code.
GraphStorm has been used and deployed for over a dozen billion-scale industry applications after its release in May 2023.
arXiv Detail & Related papers (2024-06-10T04:56:16Z) - 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) - CONCORD: Towards a DSL for Configurable Graph Code Representation [3.756550107432323]
We introduce CONCORD, a domain-specific language to build customizable graph representations.
We demonstrate its effectiveness in code smell detection as an illustrative use case.
ConCORD will help researchers create and experiment with customizable graph-based code representations.
arXiv Detail & Related papers (2024-01-31T16:16:48Z) - Synergistic Signals: Exploiting Co-Engagement and Semantic Links via
Graph Neural Networks [4.261438296177923]
We study the problem in the context recommender systems at Netflix.
We propose a novel graph-based approach called SemanticGNN.
Our key technical contributions are twofold: (1) we develop a novel relation-aware attention graph neural network (GNN) to handle the imbalanced distribution of relation types in our graph; (2) to handle web-scale graph data that has millions of nodes and billions of edges, we develop a novel distributed graph training paradigm.
arXiv Detail & Related papers (2023-12-07T06:29:26Z) - A Unified Active Learning Framework for Annotating Graph Data with
Application to Software Source Code Performance Prediction [4.572330678291241]
We develop a unified active learning framework specializing in software performance prediction.
We investigate the impact of using different levels of information for active and passive learning.
Our approach aims to improve the investment in AI models for different software performance predictions.
arXiv Detail & Related papers (2023-04-06T14:00:48Z) - Dynamic Graph Message Passing Networks for Visual Recognition [112.49513303433606]
Modelling long-range dependencies is critical for scene understanding tasks in computer vision.
A fully-connected graph is beneficial for such modelling, but its computational overhead is prohibitive.
We propose a dynamic graph message passing network, that significantly reduces the computational complexity.
arXiv Detail & Related papers (2022-09-20T14:41:37Z) - Graph Kernel Neural Networks [53.91024360329517]
We propose to use graph kernels, i.e. kernel functions that compute an inner product on graphs, to extend the standard convolution operator to the graph domain.
This allows us to define an entirely structural model that does not require computing the embedding of the input graph.
Our architecture allows to plug-in any type of graph kernels and has the added benefit of providing some interpretability.
arXiv Detail & Related papers (2021-12-14T14:48:08Z) - Monolith to Microservices: Representing Application Software through
Heterogeneous GNN [11.381828510219897]
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.
arXiv Detail & Related papers (2021-12-01T15:27:45Z) - Multi-view Self-Constructing Graph Convolutional Networks with Adaptive
Class Weighting Loss for Semantic Segmentation [23.623276007011373]
We propose a novel architecture called the Multi-view Self-Constructing Graph Convolutional Networks (MSCG-Net) for semantic segmentation.
We leverage multiple views in order to explicitly exploit the rotational invariance in airborne images.
We demonstrate the effectiveness and flexibility of the proposed method on the Agriculture-Vision challenge and our model achieves very competitive results.
arXiv Detail & Related papers (2020-04-21T22:18:16Z) - Geometrically Principled Connections in Graph Neural Networks [66.51286736506658]
We argue geometry should remain the primary driving force behind innovation in the emerging field of geometric deep learning.
We relate graph neural networks to widely successful computer graphics and data approximation models: radial basis functions (RBFs)
We introduce affine skip connections, a novel building block formed by combining a fully connected layer with any graph convolution operator.
arXiv Detail & Related papers (2020-04-06T13:25:46Z)
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.