This document provides a survey on clustering techniques aimed at identifying extract class opportunities in software refactoring. It discusses the importance of refactoring to improve cohesion and reduce complexity in object-oriented design, examining various clustering algorithms such as hierarchical, partitional, and graph-theoretic methods. The survey concludes that hierarchical clustering techniques are particularly effective in identifying extract class opportunities compared to other methods.