Java Source-code Clustering: Unifying Syntactic and Semantic Features
  This is a companion draft to paper 'Software Clustering: Unifying Syntactic and Semantic Features', in proceedings of the 19th Working Conference on Reverse Engineering (WCRE 2012). It discusses the clustering process in detail, which appeared in the paper in an abridged form. It also contains certain additional process steps which were not covered in the WCRE paper. The clustering process is described for applications with Java source-code. However, as argued in the WCRE paper, it can be seamlessly adapted to many other programming paradigms. 
Janardan Misra, Vikrant Kaulgud, Gary Titus, Annervaz KM, Shubhashis   Sengupta
cs.SE