The size and complexity of industrial strength software systems are constantly increasing. This means that the task of managing a\r\nlarge software project is becoming even more challenging, especially in light of high turnover of experienced personnel. Software\r\nclustering approaches can help with the task of understanding large, complex software systems by automatically decomposing them\r\ninto smaller, easier-to-manage subsystems. The main objective of this paper is to identify important research directions in the area\r\nof software clustering that require further attention in order to develop more effective and efficient clustering methodologies for\r\nsoftware engineering. To that end, we first present the state of the art in software clustering research. We discuss the clustering\r\nmethods that have received the most attention from the research community and outline their strengths and weaknesses. Our\r\npaper describes each phase of a clustering algorithm separately.We also present the most important approaches for evaluating the\r\neffectiveness of software clustering.
Loading....