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 条
[1]  
Kong X., Li B., Wang L., Wu W., Directory-based dependency processing for software architecture recovery, IEEE Access, 6, pp. 52321-52335, (2018)
[2]  
Mancoridis S., Mitchell B., Chen Y., Gansner E., Bunch: A clustering tool for the recovery and maintenance of software system structures, Proceedings IEEE International Conference on Software maintenance—1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99Cb36360), pp. 50-59, (1999)
[3]  
Maqbool O., Babri H., (2004)
[4]  
Andritsos P., Tzerpos V., Information-theoretic software clustering, IEEE Trans Software Eng, 31, 2, pp. 150-165, (2005)
[5]  
Wang Y., Liu P., Guo H., Li H., Chen X., Improved hierarchical clustering algorithm for software architecture recovery, 2010 International Conference on Intelligent Computing and Cognitive Informatics, pp. 247-250, (2010)
[6]  
Zhang Q., Qiu D., Tian Q., Sun L., Object-oriented software architecture recovery using a new hybrid clustering algorithm, 7Th International Conference on Fuzzy Systems and Knowledge Discovery, 6, pp. 2546-2550, (2010)
[7]  
Cho C., Lee K., Lee M., Lee C., Software architecture module-view recovery using cluster ensembles, IEEE Access, 7, pp. 72872-72884, (2019)
[8]  
Prajapati A., Parashar A., Chhabra J., Restructuring object-oriented software systems using various aspects of class information, Arab J Sci Eng, 45, 12, pp. 10433-10457, (2020)
[9]  
Rathee A., Chhabra J., Clustering for software remodularization by using structural, conceptual and evolutionary, J JUCS, 24, 12, pp. 1731-1757, (2018)
[10]  
Kuhn A., Ducasse S., Girba T., Semantic clustering: identifying topics in source code, Inf Softw Technol, 49, 3, pp. 230-243, (2007)