SOFTWARE ARCHITECTURE RECOVERY THROUGH SIMILARITY-BASED GRAPH CLUSTERING

被引:5
作者
Zhu, Jianlin [1 ]
Huang, Jin [2 ]
Zhou, Daicui [1 ]
Yin, Zhongbao [1 ]
Zhang, Guoping [3 ]
He, Qiang [4 ]
机构
[1] Cent China Normal Univ, Minist Educ, Key Lab Quark & Lepton Phys, Wuhan 430079, Peoples R China
[2] China Shipbldg Ind Corp, Res Inst 709, Wuhan 430070, Peoples R China
[3] Cent China Normal Univ, Coll Phys Sci & Technol, Wuhan 430079, Peoples R China
[4] Swinburne Univ Technol, Fac Informat & Commun Technol, Melbourne, Vic 3122, Australia
关键词
Software architecture recovery; hierarchy graph clustering; similarity-based clustering; multiple stable layers; ALGORITHMS;
D O I
10.1142/S0218194013500162
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software architecture recovery is to gain the architectural level understanding of a software system while its architecture description does not exist. In recent years, researchers have adopted various software clustering techniques to detect hierarchical structure of software systems. Most graph clustering techniques focus on the connectivity between program elements, but unreasonably ignore the similarity which is also a key measure for finding elements of one module. In this paper we propose a novel hierarchy graph clustering algorithm DGHC, which considers both similarity and connectivity between program elements. During the transformation of program dependence graph edges representing similarity between elements are added. Then similar elements are grouped by density-based approaches. The alternative strategy is adopted to find groups of closely connected and similar elements. Meanwhile we adjust the contribution of connectivity and similarity by a flexible clustering algorithm based on short random walk model, which can obtain more structure information of software to find its multiple layers. Furthermore a new method called Multi-layer Propagation Gap is proposed to suggest stable layers of hierarchy clustering result as multiple layers of software system. Extensive experimental results illustrate the effectiveness and efficiency of DGHC in detecting hierarchy structure of software through comparison with various software clustering methods.
引用
收藏
页码:559 / 586
页数:28
相关论文
共 36 条
  • [1] Andreopoulos B, 2005, WCRE: 12TH WORKING CONFERENCE ON REVERSE ENGINEERING 2005, PROCEEDINGS, P79
  • [2] [Anonymous], 2002, P 8 ACM SIGKDD INT C
  • [3] Finding and evaluating community structure in networks
    Newman, MEJ
    Girvan, M
    [J]. PHYSICAL REVIEW E, 2004, 69 (02) : 026113 - 1
  • [4] [Anonymous], THESIS U AMSTERDAM
  • [5] [Anonymous], P 16 IEEE NPSS REAL
  • [6] [Anonymous], INFOCOMP J COMPUTER
  • [7] [Anonymous], 2006, Advances in Neural Information Processing Systems
  • [8] [Anonymous], INFORMATICA
  • [9] [Anonymous], KDD WORKSH WEB MIN W
  • [10] Anquetil N., 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), P235, DOI 10.1109/WCRE.1999.806964