9. A method for partitioning a collection of programs, said method comprising: (1) calculating the pair-wise similarity of all said programs within said collection of programs by the following method: (a) providing a processor and a receiving device; (b) receiving said collection of programs in said processor from said receiving device; (c) using said processor to extract one or more tokens from each said program; (d) using said processor to extract one or more features for each said program based on said extracted tokens, wherein said extracted features are constructed so that two sequences of successive n tokens are considered the same feature if they are permutations of the same n tokens; (e) using said processor to construct feature frequency vectors for each said program based on the extracted features; and (f) using said processor to calculate a similarity score for said pair of said programs by applying a similarity function to the feature frequency vectors extracted for each said program; and (2) within said processor, using said pair-wise similarity scores as a basis for partitioning said programs in said collection of programs into classes of programs.
9. A method for partitioning a collection of programs, said method comprising: (1) calculating the pair-wise similarity of all said programs within said collection of programs by the following method: (a) providing a processor and a receiving device; (b) receiving said collection of programs in said processor from said receiving device; (c) using said processor to extract one or more tokens from each said program; (d) using said processor to extract one or more features for each said program based on said extracted tokens, wherein said extracted features are constructed so that two sequences of successive n tokens are considered the same feature if they are permutations of the same n tokens; (e) using said processor to construct feature frequency vectors for each said program based on the extracted features; and (f) using said processor to calculate a similarity score for said pair of said programs by applying a similarity function to the feature frequency vectors extracted for each said program; and (2) within said processor, using said pair-wise similarity scores as a basis for partitioning said programs in said collection of programs into classes of programs. 10. The method in claim 9 , wherein said similarity function is TFxIDF/cosine.