Clustering
The basic idea is to take one or more source models of the code and find appropriate clusters that might indicate “good” modules
Coupling and cohesion, of various definitions, are at the heart of most clustering approaches
Many different algorithms