12. A system of calculating whether program applications have similarities, comprising: a non-transitory memory storing instructions; and a processor executing the instructions to cause the system to perform a method 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 and source code, 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.
12. A system of calculating whether program applications have similarities, comprising: a non-transitory memory storing instructions; and a processor executing the instructions to cause the system to perform a method 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 and source code, 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. 22. The system of claim 12 , wherein the first term is weighted lower when the first semantic anchor is present in at least a majority of the plurality of applications relative to when the first semantic anchor is present in fewer than a majority of the plurality of applications.