SEDec 2, 2020

Software Module Clustering: An In-Depth Literature Analysis

arXiv:2012.01057v11 citations
AI Analysis

This paper provides a useful reference for researchers in software engineering by synthesizing existing knowledge and identifying future research directions in software module clustering.

This paper presents a literature analysis of 143 research papers on software module clustering, an unsupervised learning method for grouping software entities. The study identifies state-of-the-art approaches, applications in software engineering, clustering processes, algorithms, and evaluation methods, while also discussing research gaps and challenges.

Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software entities' structure and behavior. Implementing software module clustering with optimal results is challenging. Accordingly, researchers have addressed many aspects of software module clustering in the past decade. Thus, it is essential to present the research evidence that has been published in this area. In this study, 143 research papers from well-known literature databases that examined software module clustering were reviewed to extract useful data. The obtained data were then used to answer several research questions regarding state-of-the-art clustering approaches, applications of clustering in software engineering, clustering processes, clustering algorithms, and evaluation methods. Several research gaps and challenges in software module clustering are discussed in this paper to provide a useful reference for researchers in this field.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes