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.


翻译:微缩服务正在成为软件结构的“自成一体”设计选择。它涉及将软件组件分割成更细的模块,这样可以独立地进行开发。它在云层上部署时也带来自然的好处,因为资源可以动态地分配到基于需求的必要组件。因此,企业作为云的旅程的一部分,正在日益寻求将其单体应用重新纳入一个或更多的候选微缩服务;其中每个服务都包含一组负责共同功能的软件实体(例如,类别)。图表是代表软件系统的自然选择。每个软件实体都可以作为节点代表,其与其他实体作为链接的依附关系。因此,重构的问题可以被视为基于图表的集群任务。在这项工作中,我们提出了一个新的方法,在代码方面调整图形神经网络的最新进展,以更好地了解软件,并将其应用到集群任务中。在这个过程中,我们还确定了图表中的外端,可以直接被映射到软件系统顶端的候选人。我们的解决方案能够改进基于状态的图像显示技术,从软件的工程到现有工程,我们的解决办法可以改进基于状态的图像显示技术。

0
下载
关闭预览

相关内容

最新《图理论》笔记书,98页pdf
专知会员服务
74+阅读 · 2020年12月27日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
71+阅读 · 2020年8月2日
【ICLR 2019】双曲注意力网络,Hyperbolic  Attention Network
专知会员服务
82+阅读 · 2020年6月21日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
Graph Neural Network(GNN)最全资源整理分享
深度学习与NLP
339+阅读 · 2019年7月9日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【数据集】新的YELP数据集官方下载
机器学习研究会
16+阅读 · 2017年8月31日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Graph Analysis and Graph Pooling in the Spatial Domain
Semantics of Data Mining Services in Cloud Computing
Arxiv
4+阅读 · 2018年10月5日
Arxiv
7+阅读 · 2018年8月28日
VIP会员
相关资讯
Graph Neural Network(GNN)最全资源整理分享
深度学习与NLP
339+阅读 · 2019年7月9日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:连通知识图谱与推荐系统
LibRec智能推荐
3+阅读 · 2018年8月9日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【数据集】新的YELP数据集官方下载
机器学习研究会
16+阅读 · 2017年8月31日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员