As valuable software systems get old, reverse engineering becomes more and more important to the companies that have to maintain the code. Clustering is a key activity in reverse engineering to discover a better design of the systems or to extract signi cant concepts from the code. Clustering is an old activity, highly sophisticated, o ering many methods to answer di erent needs. Although these methods have been well documented in the past, these discussions may not apply entirely to the reverse engineering domain. In this paper, we study some clustering algorithms and other parameters to establish whether and why they could be used for software remodularization. We study three aspects of the clustering activity: Abstract descriptions chosen for the entities to cluster, metrics computing coupling between the entities and clustering algorithms. The experiments were conducted on three public domain systems gcc, Linux and Mosaic and a real world legacy system 2 million LOC. Among other t...