Patent ID: 9218169
Filing Date: 2015-12-22
Classification: G06F

Abstract:
1. A computer-based method of generating a function call graph for a codebase, the method comprising: identifying, with a processor, functions in the codebase using a function signature; representing a particular identified function as a first node in the function call graph; for the particular function, identifying call-to functions, call-from functions, inheritance parents, and inheritance children, and a base class associated with the particular function based on the function signature of that particular function; adding first child nodes to the first node based on the identified call-to and call-from functions; for an interface call to a base class method in the particular function, adding second child nodes to the first node based on implementations of an override of the base class method; for each child node of the first node, generating a binary file filter for the parent-child relationship, the binary file filter being a Bloom filter based on binary files of the codebase that include the particular function and a function represented by a child node; adding the generated Bloom filter to the first node; determining whether a first source code file that includes a particular added implementation of an override and a second source code file that includes the particular function share at least one common binary file by applying the Bloom filter of the first node to a binary file compiled using the first source code file, and in response to a determination that the first and second source code files do not share a common binary file, removing the added second child node from the first node.