package vta

import ""


Package Files

graph.go propagation.go utils.go vta.go

func CallGraph

func CallGraph(funcs map[*ssa.Function]bool, initial *callgraph.Graph) *callgraph.Graph

CallGraph uses the VTA algorithm to compute call graph for all functions f:true in funcs. VTA refines the results of initial call graph and uses it to establish interprocedural type flow. The resulting graph does not have a root node.

CallGraph does not make any assumptions on initial types global variables and function/method inputs can have. CallGraph is then sound, modulo use of reflection and unsafe, if the initial call graph is sound.



Package vta imports 7 packages (graph).

Version v0.1.8 (latest) | Published Dec 2, 2021 | Platform: linux/amd64 | Updated 3 weeks ago

Tools for package owners.