Software Technology Group @ TU Darmstadt

Probabilistic call-graph construction

by Yi Lu, Daniel Wainwright, and Michael Reif

Abstract: Embodiments construct a precise and scalable call graph that models potentially incomplete object-oriented program code, including libraries. The call graph encodes the probabilities of call relationships in the graph, where the probabilities are based on context information from the program, and are adjusted based on client configurations. Embodiments derive topics to associate with unknown elements, as well as probabilities for those topics, from declared types of the unknown elements. Configuration information encodes sets of feature conditions that direct the weighting of the unknown element types. As embodiments propagate type tuples through the graph, the probabilities of the types for each node are recalculated based on the type/probability information for the predecessors of the node. Type/probability information joins are necessary for nodes with multiple dependencies, where the manner of the join is …



@inproceedings {LWR+,
  title = {{Probabilistic call-graph construction}},
  author = {Lu, Yi and Wainwright, Daniel and Reif, Michael},
  booktitle = {{US Patent}},
  year = {2020},