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 条
  • [31] A new binary chaos-based metaheuristic algorithm for software defect prediction
    Arasteh, Bahman
    Arasteh, Keyvan
    Ghaffari, Ali
    Ghanbarzadeh, Reza
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2024, 27 (07): : 10093 - 10123
  • [32] Metaheuristic-based inverse design of materials - A survey
    Liao, T. Warren
    Li, Guoqiang
    JOURNAL OF MATERIOMICS, 2020, 6 (02) : 414 - 430
  • [33] On the evaluation of the Bunch search-based software modularization algorithm
    Mitchell, Brian S.
    Mancoridis, Spiros
    SOFT COMPUTING, 2008, 12 (01) : 77 - 93
  • [34] On the evaluation of the Bunch search-based software modularization algorithm
    Brian S. Mitchell
    Spiros Mancoridis
    Soft Computing, 2008, 12 : 77 - 93
  • [35] Hybrid Metaheuristic Algorithm for Clustering
    Oduntan, Olayinka Idowu
    Thulasiraman, Parimala
    2018 IEEE SYMPOSIUM SERIES ON COMPUTATIONAL INTELLIGENCE (IEEE SSCI), 2018, : 1 - 9
  • [36] General metaheuristic-based methodology for computation and decomposition of LMPs
    Saraiva, Felipe Oliveira Silva
    Paucar, Vicente Leonardo
    ELECTRICAL ENGINEERING, 2021, 103 (02) : 793 - 811
  • [37] Metaheuristic Algorithm for State-Based Software Testing
    Haraty, Ramzi A.
    Mansour, Nashat
    Zeitunlian, Hratch
    APPLIED ARTIFICIAL INTELLIGENCE, 2018, 32 (02) : 197 - 213
  • [38] A survey of metaheuristic-based techniques for University Timetabling problems
    Rhydian Lewis
    OR Spectrum, 2008, 30 : 167 - 190
  • [39] A fault tolerance metaheuristic-based scheme for controller placement problem in wireless software-defined networks
    Samarji, Nivine
    Salamah, Muhammed
    INTERNATIONAL JOURNAL OF COMMUNICATION SYSTEMS, 2021, 34 (04)
  • [40] Artificial Intelligence and Metaheuristic-Based Location-Based Advertising
    Rohilla, Vinita
    Chakraborty, Sudeshna
    Kaur, Mandeep
    SCIENTIFIC PROGRAMMING, 2022, 2022