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

Claim 11:
12. A method for determining code ancestry, comprising:
receiving a source code file;
parsing a plurality of functions out of the source code file;
sanitizing each of the plurality of functions by applying specific filtering to each of the plurality of functions, stripping unnecessary components from the source code file, and producing structure data and sanitized data;
generating 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;
storing the plurality of fuzzy fingerprints in a graph database;
comparing each of the plurality of fuzzy fingerprints to another one of the plurality of fuzzy fingerprints by applying fuzzy matching to determine a similarity;
determining 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
establishing an ancestry of the portions of the source code file based on the determining.