Software architecture refers to the high-level abstraction of a system including the configuration of the involved elements and the interactions and relationships that exist between them. Source codes can be easily built by referring to the software architectures. However, the reverse process i.e. derivation of the software architecture from the source code is a challenging task. Further, such an architecture consists of multiple layers, and distributing the existing elements into these layers should be done accurately and efficiently. In this paper, a novel approach is presented for the recovery of layered architectures from Java-based software systems using the concept of ego networks. Ego networks have traditionally been used for social network analysis, but in this paper, they are modified in a particular way and tuned to suit the mentioned task. Specifically, a dependency network is extracted from the source code to create an ego network. The ego network is processed to create and optimize ego layers in a particular structure. These ego layers when integrated and optimized together give the final layered architecture. The proposed approach is evaluated in two ways: on static versions of three open-source software, and a continuously evolving software system. The distribution of nodes amongst the proposed layers and the committed violations are observed on both class level and package level. The proposed method is seen to outperform the existing standard approaches over multiple performance metrics. We also carry out the analysis of variation in the results concerning the change in the node selection strategy and the frequency. The empirical observations show promising signs for recovering software architecture layers from source codes using this technique and also extending it further to other languages and software.


翻译:软件结构是指一个系统的高层次抽象化,包括所涉要素的配置以及它们之间存在的相互作用和关系。源码可以通过参考软件结构很容易地建立。但是,源码代码是一个具有挑战性的任务。此外,由多个层次组成的结构,将现有要素传播到这些层次,应当准确和有效地完成。本文介绍了利用自我网络概念从爪哇软件系统中恢复分层结构的新办法。Ego网络传统上用于社会网络分析,但本文则以特定的方式修改和调整,以适应上述任务。具体地说,从源码中提取软件结构结构的依附性网络是一个挑战性任务。自定义网络由多个层次组成,将现有元素传播到这些层次,在整合和优化后,这些自我结构将赋予最后层结构。拟议的方法以两种方式进行评估:固定版本的3个开放源软件软件,以及不断演变的软件系统。不同频频度的网络观测,也以特定的方式修改,并调整这些语言的频率,以适应上述任务。具体地,从源码代码中提取一个依赖性网络,以创建一个自定义的网络网络,以创建自定义网络,在特定结构结构中,并在特定结构中优化中进行。我们所观察到的自定义的自定义的自定义的自变变。在排序和软件结构中,在排序中,在现有的标准结构结构结构中,在排序中,在排序中,在排序中,在排序中进行关于正变。我们所观察到的自变的自变的自变的自变的自变。在排序,在排序,在排序中,在排序式方法在排序法则在排序中,在排序。在排序在排序在排序在排序在排序在排序在排序在排序中,在排序中,在排序中,在排序在排序后在排序在排序中,在排序中,在排序中,在排序中,在排序中,在排序中,在排序中,在排序中,在排序在排序中,在排序和自变。在排序中,在排序中,在排序中,在排序中,在排序在排序中,在排序后在排序后在排序后在排序后在排序后在排序中,在排序中,在排序后在排序后在排序后在排序后在排序后在排序中,在排序后在排序中,在排序后在排序后在排序

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
因果图,Causal Graphs,52页ppt
专知会员服务
238+阅读 · 2020年4月19日
专知会员服务
59+阅读 · 2020年3月19日
抢鲜看!13篇CVPR2020论文链接/开源代码/解读
专知会员服务
49+阅读 · 2020年2月26日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
已删除
将门创投
7+阅读 · 2019年10月15日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
条件GAN重大改进!cGANs with Projection Discriminator
CreateAMind
8+阅读 · 2018年2月7日
Arxiv
12+阅读 · 2018年9月5日
VIP会员
相关资讯
已删除
将门创投
7+阅读 · 2019年10月15日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
条件GAN重大改进!cGANs with Projection Discriminator
CreateAMind
8+阅读 · 2018年2月7日
Top
微信扫码咨询专知VIP会员