ESBASCA : A Novel Software Clustering Approach