1. A method of determining a likely call path between two functions in a code base, the method comprising: receiving, as inputs, a source function and a destination function; identifying, in a function call graph, a starting node associated with the source function and an ending node associated with the destination function; searching possible paths in the function call graph between the starting node and the ending node, said searching including, for each node at a level of the graph: evaluating the node against a list of common dependencies shared by the starting node and the ending node; for an evaluated node having a dependency included in the list of common dependencies, including the evaluated node in a possible path list; for an evaluated node not having a dependency included in the list of common dependencies, excluding the evaluated node from any possible path list; ranking the nodes included in the possible path list; for each ranked node, expanding the ranked node to determine if the ranked node includes child nodes; responsive to a determination that the ranked node has child nodes, treating the ranked node as a starting node and performing said searching possible paths for each child node of the ranked node; and responsive to a determination that the ranked node has no child nodes, identifying a function call path including the ranked node as a possible function call path; sorting the possible function call paths between the starting node and the ending node; and returning, as a likely call path, at least one of the sorted possible function call paths.