beluga
Safe HaskellNone
LanguageHaskell2010

Callgraph

Synopsis

Documentation

create :: AnalysisContext -> Graph Source #

Derive a callgraph from an AnalysisContext. Note: Not all runtime evaluated call destinations will be recovered via Binja.AnalysisContext.callers.

filter :: (Set Vertex -> Bool) -> Graph -> Graph Source #

Filter all children that satisfy the predicate

filterWithKey :: (Vertex -> Set Vertex -> Bool) -> Graph -> Graph Source #

Filter all keys/values that satisfy the predicate

recursive :: Graph -> [Vertex] Source #

List of recursive vertex

leaf :: Graph -> [Vertex] Source #

List of vertex with no children

callers :: Graph -> Vertex -> [Vertex] Source #

List of symbols which call source vertex

callees :: Graph -> Vertex -> [Vertex] Source #

List of symbols which source vertex calls

mostCalled :: Graph -> Maybe Vertex Source #

Find the vertex with the maximum sum of callers. If multiple vertex share the same maximum caller sum return the first vertex found of maximum sum.

mostConnected :: Graph -> Maybe Vertex Source #

Find the vertex with the maximum sum of callers and callees. If multiple vertex share the same maximum sum return the first vertex found of maximum sum.

reachable :: Graph -> Vertex -> Vertex -> Bool Source #

Is destination vertex reachable from source vertex

order :: Graph -> Int Source #

Number of nodes

size :: Graph -> Int Source #

Numer of edges