Improving Software Modularization Quality Through the Use of Multi-Pattern Modularity Clustering Algorithm.

Tsung-Han Yang,Chin-Yu Huang
DOI: https://doi.org/10.1109/QRS60937.2023.00073
2023-01-01
Abstract:In contemporary software development processes, as the software development cycle undergoes continuous evolution, the subsequent maintenance phase often veers away from the original architectural plan. While clustering serves as an intuitive approach for implementing modularization, traditional clustering algorithms exhibit certain limitations, such as generating excessively large output modules. This paper introduces a novel multi-pattern modularity clustering algorithm (MPMC) aimed at enhancing the quality of software modularization. This algorithm hinges on two key components. Firstly, it employs a multi-pattern strategy to scrutinize the extent of dependencies between files. This involves distinct steps like tagging files, aggregating chain dependencies, and subsequently preprocessing and amalgamating the modules. Secondly, it incorporates a multi-level modularity clustering algorithm, which employs a graph partitioning technique to categorize graphs into clusters through processes like coarsening and multi-level refinement. To evaluate the performance of MPMC, five open-source and one closed-source programs, each varying in size and functionality, were employed for comparison against other conventional software grouping algorithms and existing software clustering methods. Experimental results reveal a substantial improvement in the performance of MPMC, approximately 2.71 times higher in terms of weighted modularity quality (MQ) criteria compared to alternative methods, and a 1.35 times improvement in the MoJoFM criteria. These findings establish the effectiveness of the MPMC algorithm as a valuable software clustering tool for developers, emphasizing its ability to yield superior module quality in comparison to other methods.
What problem does this paper attempt to address?