A New Metaheuristic-Based Hierarchical Clustering Algorithm for Software Modularization

被引:5
|
作者
Aghdasifam, Masoud [1 ]
Izadkhah, Habib [1 ]
Isazadeh, Ayaz [1 ]
机构
[1] Univ Tabriz, Fac Math Sci, Dept Comp Sci, Tabriz, Iran
关键词
GENETIC ALGORITHM; OPTIMIZATION; FRAMEWORK; IMPACT;
D O I
10.1155/2020/1794947
中图分类号
O1 [数学];
学科分类号
0701 ; 070101 ;
摘要
Software refactoring is a software maintenance action to improve the software internal quality without changing its external behavior. During the maintenance process, structural refactoring is performed by remodularizing the source code. Software clustering is a modularization technique to remodularize artifacts of source code aiming to improve readability and reusability. Due to the NP hardness of the clustering problem, evolutionary approaches such as the genetic algorithm have been used to solve this problem. In the structural refactoring literature, there exists no search-based algorithm that employs a hierarchical approach for modularization. Utilizing global and local search strategies, in this paper, a new search-based top-down hierarchical clustering approach, named TDHC, is proposed that can be used to modularize the system. The output of the algorithm is a tree in which each node is an artifact composed of all artifacts in its subtrees and is a candidate to be a software module (i.e., cluster). This tree helps a software maintainer to have better vision on source code structure to decide appropriate composition points of artifacts aiming to create modules (i.e., files, packages, and components). Experimental results on seven folders of Mozilla Firefox with different functionalities and five other software systems show that the TDHC produces modularization closer to the human expert's decomposition (i.e., directory structure) than the other existing algorithms. The proposed algorithm is expected to help a software maintainer for better remodularization of a source code. The source codes and dataset related to this paper can be accessed at https://github.com/SoftwareMaintenanceLab.
引用
收藏
页数:25
相关论文
共 50 条
  • [41] Hierarchical clustering algorithm based on granularity
    Liang, Jiuzhen
    Li, Guangbin
    GRC: 2007 IEEE INTERNATIONAL CONFERENCE ON GRANULAR COMPUTING, PROCEEDINGS, 2007, : 429 - 432
  • [42] A hierarchical clustering algorithm based on GiST
    Zhou, Bing
    Wang, He-xing
    Wang, Cui-rong
    ADVANCED INTELLIGENT COMPUTING THEORIES AND APPLICATIONS: WITH ASPECTS OF CONTEMPORARY INTELLIGENT COMPUTING TECHNIQUES, 2007, 2 : 125 - +
  • [43] A similarity-based modularization quality measure for software module clustering problems
    Huang, Jinhuang
    Liu, Jing
    INFORMATION SCIENCES, 2016, 342 : 96 - 110
  • [44] General metaheuristic-based methodology for computation and decomposition of LMPs
    Felipe Oliveira Silva Saraiva
    Vicente Leonardo Paucar
    Electrical Engineering, 2021, 103 : 793 - 811
  • [45] A metaheuristic-based method for replica selection in the Internet of Things
    Wang, Suli
    Batiha, Khaldoun
    INTERNATIONAL JOURNAL OF COMMUNICATION SYSTEMS, 2020, 33 (14)
  • [46] A Review of Metaheuristic-based Product Concept Generation Systems
    Ang, M. C.
    McKay, A.
    Ng, K. W.
    MANUFACTURING SCIENCE AND TECHNOLOGY, PTS 1-8, 2012, 383-390 : 4594 - +
  • [47] A metaheuristic-based framework for index tracking with practical constraints
    Man-Chung Yuen
    Sin-Chun Ng
    Man-Fai Leung
    Hangjun Che
    Complex & Intelligent Systems, 2022, 8 : 4571 - 4586
  • [48] A metaheuristic-based framework for index tracking with practical constraints
    Yuen, Man-Chung
    Ng, Sin-Chun
    Leung, Man-Fai
    Che, Hangjun
    COMPLEX & INTELLIGENT SYSTEMS, 2022, 8 (06) : 4571 - 4586
  • [49] A new blockmodeling based hierarchical clustering algorithm for web social networks
    Qiao, Shaojie
    Li, Tianrui
    Li, Hong
    Peng, Jing
    Chen, Hongmei
    ENGINEERING APPLICATIONS OF ARTIFICIAL INTELLIGENCE, 2012, 25 (03) : 640 - 647
  • [50] A Systematic Review of Metaheuristic-based Image Encryption Techniques
    Kaur, Mandeep
    Singh, Surender
    Kaur, Manjit
    Singh, Arjun
    Singh, Dilbag
    ARCHIVES OF COMPUTATIONAL METHODS IN ENGINEERING, 2022, 29 (05) : 2563 - 2577