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 条
[1]   Information-theoretic software clustering [J].
Andritsos, P ;
Tzerpos, V .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (02) :150-165
[2]  
Andritsos P, 2004, LECT NOTES COMPUT SC, V2992, P123
[3]  
Anquetil N., 2003, IEE Proceedings-Software, V150, P185, DOI 10.1049/ip-sen:20030581
[4]  
Beck F., 2010, Proceedings 17th Working Conference on Reverse Engineering (WCRE 2010), P99, DOI 10.1109/WCRE.2010.19
[5]   A large-scale study of architectural evolution in open-source software systems [J].
Behnamghader, Pooyan ;
Duc Minh Le ;
Garcia, Joshua ;
Link, Daniel ;
Shahbazian, Arman ;
Medvidovic, Nenad .
EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (03) :1146-1193
[6]  
Bowman I. T., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P555, DOI 10.1109/ICSE.1999.841045
[7]   Investigating the use of Lexical Information for Software System Clustering [J].
Corazza, Anna ;
Di Martino, Sergio ;
Maggio, Valerio ;
Scanniello, Giuseppe .
2011 15TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2011, :35-44
[8]   Focus: A light-weight, incremental approach to software architecture recovery and evolution [J].
Ding, L ;
Medvidovic, N .
WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE, PROCEEDINGS, 2001, :191-200
[9]  
El-Ramly M, 2001, EIGHTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, P208, DOI 10.1109/WCRE.2001.957825
[10]  
Garcia J., 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering, P552, DOI 10.1109/ASE.2011.6100123