Content area
Software maintenance is one of the most expensive phases in software development, especially when complex source code is the only available artifact. Clustering software modules and generating a structured architectural model can significantly reduce the effort and cost of maintenance. This study aims to achieve high-quality modularization by maximizing intra-cluster cohesion, minimizing inter-cluster coupling, and optimizing overall modular quality. Since finding optimal clustering is an NP-complete problem, many existing methods suffer from poor modular structures, instability, and inconsistent results. To overcome these limitations, this paper proposes a module clustering method using a discrete bedbug optimizer. In software architecture, symmetry refers to the balanced and structured arrangement of modules. In the proposed method, module clustering aims to identify and group related modules based on structural and behavioral similarities, reflecting symmetrical properties in the source code. Conversely, asymmetries, such as modules with irregular dependencies, can indicate architectural flaws. The method was evaluated on ten widely used real-world software datasets. The experimental results show that the proposed algorithm consistently delivers superior modularization quality, with an average score of 2.806 and a well-balanced trade-off between cohesion and coupling. Overall, this research presents an effective solution for software module clustering and provides better architecture recovery and more maintainable systems.
Details
Machine learning;
Modularization;
Source code;
Maintenance costs;
Success;
Clustering;
Optimization techniques;
Genetic algorithms;
Optimization;
Insects;
Cohesion;
Architecture;
Methods;
Modules;
Modular structures;
Performance evaluation;
Heuristic;
Neighborhoods;
Optimization algorithms;
Software development;
Efficiency;
Semantics;
Coupling
; Kusetogullari Huseyin 3
; Kiani Farzad 4
1 Department of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, Türkiye; [email protected], Department of Computer Science, Khazar University, Baku 1096, Azerbaijan, Applied Science Research Center, Applied Science Private University, Amman 11931, Jordan
2 Department of Software Engineering, Faculty of Engineering and Natural Science, Istinye University, Istanbul 34396, Türkiye; [email protected], Faculty of Electronics, Telecommunications and Information Technology, University Politehnica of Bucharest, 060042 București, Romania
3 Department of Computer Science, Blekinge Institute of Technology, 371 79 Karlskrona, Sweden; [email protected]
4 Data Science Application and Research Center (VEBIM), Fatih Sultan Mehmet Vakif University, Istanbul 34445, Türkiye; [email protected]