Patent ID: 11972256
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 7:
8. A computer program product for software analysis using fuzzy fingerprinting to determine code ancestry, the computer program product comprising one or more computer readable storage media having program instructions embodied therewith, the program instructions executable by a device to cause the device to:
receive a source code file of a computer program;
parse a plurality of functions out of the source code file;
sanitize each of the plurality of functions by applying specific filter ring to each of the plurality of functions, stripping unnecessary components from the source code file, and producing structure data and sanitized data;
generate a plurality of fuzzy fingerprints from the plurality of functions, including generating separate fuzzy fingerprint signatures for both the structure data and the sanitized data of each of the plurality of functions that represent the plurality of functions;
store the plurality of fuzzy fingerprints in a graph database;
compare each of the plurality of fuzzy fingerprints to another one of the plurality of fuzzy fingerprints by applying fuzzy matching to determine a similarity;
determine whether the plurality of fuzzy fingerprints include portions of the source code file that are a direct match, a variation, a derivative, or not a match by comparing the similarity to a threshold; and
establish an ancestry of the portions of the source code file based on the determining.