4.3 Article

Using multi-pattern clustering methods to improve software maintenance quality

Journal

IET SOFTWARE
Volume 17, Issue 1, Pages 1-22

Publisher

WILEY
DOI: 10.1049/sfw2.12075

Keywords

cluster analysis; maintainability; software architecture recovery; software clustering; software modularisation

Ask authors/readers for more resources

Software development process involves various activities for developing, testing, maintaining, and evolving a software system. However, software maintenance occupies the majority of the cost and can lead to degrading software quality. To address this issue, this study proposes a multi-pattern clustering algorithm for software modularisation. Experimental results show that the proposed algorithm improves the modularisation quality by nearly 1.6 times compared to expert decomposition and has a 13% enhancement in producing results similar to human thinking.
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.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.3
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available