Patent ID: 7503035

Claim:
A computer-implemented method comprising: creating a first array for a first program source code file including a plurality of program elements, the first array containing program elements of a distinct program element type represented by any one of lines of functional program code, lines of program comments, or program code identifiers; creating a second array for a second program source code file including the plurality of program elements, the second array containing program elements of the same program element type as the program elements in the first array; comparing the program elements from the first array with the program elements from the second array to find similar program elements, the comparison being performed between individual program elements regardless of an order of code lines containing the program elements in the first array and the second array during the comparison, the comparison being independent of common sequences of program elements in the first array and the second array; calculating a similarity number based on the similar program elements, wherein when the similar program elements are similar program code identifiers, the similarity number is calculated by combining a number of matching alphabetical characters in the similar program code identifiers with a fraction of a number of matching numerals in the similar program code identifiers; and presenting to a user an indication of plagiarism with respect to at least one of the first program source code file and the second program source file, wherein the indication of plagiarism is defined by the similarity number.