IET Software (Feb 2023)

Using multi‐pattern clustering methods to improve software maintenance quality

  • Yi‐Ting Chen,
  • Chin‐Yu Huang,
  • Tsung‐Han Yang

DOI
https://doi.org/10.1049/sfw2.12075
Journal volume & issue
Vol. 17, no. 1
pp. 1 – 22

Abstract

Read online

Abstract In software engineering, a software development process, also known as software development life cycle (SDLC), involves several distinct activities for developing, testing, maintaining, and evolving a software system. Within the stages of SDLC, software maintenance occupies most of the total cost of the software life. However, after extended maintenance activities, software quality always degrades due to increasing size and complexity. To solve this problem, software modularisation using clustering is an intuitive way to modularise and classify code into small pieces. , A multi‐pattern clustering (MPC) algorithm for software modularisation is proposed in this study. The proposed MPC algorithm can be divided into five different steps: (1) preprocessing, (2) file labelling, (3) collection of chain dependencies, (4) hierarchical agglomerative clustering, (5) modification of the clustering result. The performance of the proposed MPC algorithm to selected clustering techniques is compared by using three open‐source and one closed‐source software programs. Experimental results show that the modularisation quality of the proposed MPC algorithm is nearly 1.6 times better than that of the expert decomposition. Additionally, compared to other software clustering algorithms, the proposed MPC algorithm, on average, has a 13% enhancement in producing results similar to human thinking. Consequently, it can be seen that the proposed MPC algorithm is suitable for human comprehension while producing better module quality compared to other clustering algorithms.

Keywords