Ensemble clustering based approach for software architecture recovery

被引:2
作者
Puchala S.P.R. [1 ]
Chhabra J.K. [1 ]
Rathee A. [2 ]
机构
[1] Computer Engineering Department, National Institute of Technology, Kurukshetra
[2] Computer Science Department, Government College, Barota, Gohana, Sonipat
关键词
Architecture recovery; Directory dependencies; Ensemble clustering; Multiple dependencies;
D O I
10.1007/s41870-021-00846-0
中图分类号
学科分类号
摘要
Frequent software maintenance usually results in a change in the original software architecture and thus architecture recovery is attempted using dependencies in the software artifacts. Many different techniques for architecture recovery are proposed in the literature normally using one out of structural, semantic, and directory dependencies, and applying clustering over these computed values. The main drawback of these approaches is that either they use only one type of dependency computed in a limited way, and or merge multiple dependencies before applying a clustering technique and thus the approaches result in loss of information because each dependency has its unique characteristics. This paper proposes a new approach for architecture recovery using ensemble clustering and utilizing a more precise computation of three types of dependencies: structural, semantic, and directory dependencies. The proposed approach is evaluated over open-source java projects and analyzed. The obtained results clearly show that our proposed architecture recovery approach using ensemble clustering and multiple dependencies performs much better than other conventional recovery approaches. © 2021, Bharati Vidyapeeth's Institute of Computer Applications and Management.
引用
收藏
页码:2013 / 2019
页数:6
相关论文
共 25 条
[11]  
Garcia J., Popescu D., Mattmann C., Medvidovic N., Yuanfang C., Enhancing architectural recovery using concerns, 26Th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 552-555, (2011)
[12]  
Sajnani H., Automatic software architecture recovery: A machine learning approach, 20Th IEEE International Conference on Program Comprehension (ICPC), pp. 265-268, (2012)
[13]  
Link D., Behnamghader P., Moazeni R., Boehm B., Recover and RELAX: Concern-oriented software architecture recovery for systems development and maintenance, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP), pp. 64-73, (2019)
[14]  
Sun X., Liu X., Li B., Li B., Lo D., Liao L., Clustering classes in packages for program comprehension, Sci Program, 2017, pp. 1-15, (2017)
[15]  
Lee K., Lee C., Identifying semantic outliers of source code artifacts and their application to software architecture recovery, IEEE Access, 8, pp. 212467-212477, (2020)
[16]  
Li X., Zhang L., Ge N., Framework information based java software architecture recovery, 24Th Asia-Pacific Software Engineering Conference Workshops (APSECW), pp. 114-120, (2017)
[17]  
Li X., Zhang L., Ge N., Framework information based java software architecture recovery, 24Th Asia-Pacific Software Engineering Conference Workshops (APSECW), pp. 114-120, (2017)
[18]  
Guimaraes E., Cai Y., Understanding software systems through interactive pattern detection, 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 51-54, (2020)
[19]  
Zahid M., Mehmmod Z., Inayat I., Evolution in software architecture recovery techniques—a survey, 13Th International Conference on Emerging Technologies (ICET), pp. 1-6, (2017)
[20]  
On measuring of similarity between tree nodes, Proceedings of the 5Th Russian Young Scientists Conference in Information Retrieval, (2011)