Clustering Techniques for Software Engineering - Shohag Barman; Hira Lal Gope; M M Manjurul Islam; Md Mehedi Hasan; Umme Salma (Indonesian Journal of Electrical Engineering and Computer Science, 2016)
Software industries face a common problem which is the maintenance cost of industrial software systems. There are lots of reasons behind this problem. One of the possible reasons is the high maintenance cost due to lack of knowledge about understanding the software systems that are too large, and complex. Software clustering is an efficient technique to deal with such kind of problems that arise from the sheer size and complexity of large software systems. Day by day the size and complexity of industrial software systems are rapidly increasing. So, it will be a challenging task for managing software systems. Software clustering can be very helpful to understand the larger software system, decompose them into smaller and easy to maintenance. In this paper, we want to give research direction in the area of software clustering in order to develop efficient clustering techniques for software engineering. Besides, we want to describe the most recent clustering techniques and their strength as well as weakness. In addition, we propose genetic algorithm based software modularization clustering method. The result section demonstrated that proposed method can effectively produce good module structure and it outperforms the state of the art methods.