Directory-Based Dependency Processing for Software Architecture Recovery

被引:10
作者
Kong, Xianglong [1 ]
Li, Bixin [1 ]
Wang, Lulu [1 ]
Wu, Wensheng [2 ]
机构
[1] Southeast Univ, Sch Comp Sci & Engn, Nanjing 211189, Jiangsu, Peoples R China
[2] Huawei Technol Co Ltd, Shenzhen 518129, Peoples R China
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
Software architecture recovery; dependency graph; directory path; CLUSTERING ALGORITHMS; EVOLUTION; INFORMATION; CODE;
D O I
10.1109/ACCESS.2018.2870118
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Directory structure contains a wealth of software design information; it is used to transfer thoughts of architects to developers. Information extracted from directory paths should play an important role in architecture recovery techniques, but it has been proved that modules or components directly represented by directories are not accurate due to the inconsistency between stages of development and design. To make better use of information extracted from directories, we propose a directory-based dependency processing technique to utilize the information of directories in the process of structure-based architecture recovery. The technique groups the selected inter-coupling files and intra-coupling files in the same directory into a submodule and generates submodule-level dependency graph based on file-level dependency graph. We apply both manual and automatic architecture recovery techniques on submodule-level dependency graph, and the results show that our technique can greatly improve the efficiency and effectiveness of manual and automatic architecture recovery techniques; the technique can also make other structure-based recovery techniques easily scalable to large-sized projects.
引用
收藏
页码:52321 / 52335
页数:15
相关论文
共 38 条
[21]  
Mancoridis S., 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). `Software Maintenance for Business Change' (Cat. No.99CB36360), P50, DOI 10.1109/ICSM.1999.792498
[22]   The weighted combined algorithm: A linkage algorithm for software clustering [J].
Maqbool, O ;
Babri, HA .
CSMR 2004: EIGHTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2004, :15-24
[23]   Hierarchical clustering for software architecture recovery [J].
Maqbool, Onaiza ;
Babri, Haroon A. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (11) :759-780
[24]   An architecture for distributing the computation of software clustering algorithms [J].
Mitchell, B ;
Traverso, M ;
Mancoridis, S .
WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE, PROCEEDINGS, 2001, :181-190
[25]   A heuristic approach to solving the software clustering problem [J].
Mitchell, BS .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, :285-288
[26]  
Qian Gunqun, 2008, 2008 International Conference on Computer Science and Software Engineering (CSSE 2008), P310, DOI 10.1109/CSSE.2008.1012
[27]   The effect of call graph construction algorithms for object-oriented programs on automatic clustering [J].
Rayside, D ;
Reuss, S ;
Hedges, E ;
Kontogiannis, K .
8TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 2000), PROCEEDINGS, 2000, :191-200
[28]  
Shtern Mark, 2010, Proceedings of the 18th IEEE International Conference on Program Comprehension (ICPC 2010), P64, DOI 10.1109/ICPC.2010.25
[29]   Refining Clustering Evaluation Using Structure Indicators [J].
Shtern, Mark ;
Tzerpos, Vassilios .
2009 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, CONFERENCE PROCEEDINGS, 2009, :297-305
[30]   Rigi: A visualization environment for reverse engineering [J].
Storey, MAD ;
Wong, K ;
Muller, HA .
PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, :606-607