1. A computer-implemented method of determining whether applications are similar, comprising: receiving, by a computer, source code for a plurality of applications; associating, for each application, semantic anchors found in the source code for that application with the application, wherein associating semantic anchors comprises building at least one weighted term document matrix from the semantic anchors, the at least one weighted term document matrix comprising at least a first term weighted based on at least a number of the plurality of applications in which a first semantic anchor is present in the source code for those applications; comparing, based on the semantic anchors, a similarity of the first application to a second application; and assigning, based on the comparison, a number representing the similarity of the first and second applications.