Cooperative Based Software Clustering on Dependency Graphs