|
Static Value-Flow Analysis
|
#include <SlicedGraphs.h>
Private Member Functions | |
| void | buildKeptNodes () |
| void | buildCallGraphSets () |
Private Attributes | |
| ThreadCallGraph * | tcg |
| OrderedSet< const CallGraphNode * > | keptNodes |
| Set< const CallGraphEdge * > | keptEdges |
| Map< const CallGraphEdge *, CallGraphEdge::CallInstSet > | keptDirectCalls |
| Map< const CallGraphEdge *, CallGraphEdge::CallInstSet > | keptIndirectCalls |
| Set< const FunObjVar * > | keptFunctionsSet |
| Set< const CallICFGNode * > | indirectSitesWithEmptyTargets |
| OrderedSet< const ICFGNode * > | extendedKeptNodes |
Definition at line 176 of file SlicedGraphs.h.
| SVF::SlicedThreadCallGraphView::SlicedThreadCallGraphView | ( | ThreadCallGraph * | tcg, |
| const OrderedSet< const FunObjVar * > & | keptFunctions, | ||
| const OrderedSet< const ICFGNode * > & | extendedKeptNodes | ||
| ) |
Definition at line 591 of file SlicedGraphs.cpp.
|
private |
Definition at line 741 of file SlicedGraphs.cpp.
|
private |
Definition at line 607 of file SlicedGraphs.cpp.
| bool SVF::SlicedThreadCallGraphView::containsCallSite | ( | const CallGraphEdge * | edge, |
| const CallICFGNode * | callSite | ||
| ) | const |
Whether this precise callsite-to-callee relation is retained.
Definition at line 668 of file SlicedGraphs.cpp.
| void SVF::SlicedThreadCallGraphView::dump | ( | const std::string & | filename | ) | const |
Dump sliced ThreadCallGraph to dot file.
Definition at line 797 of file SlicedGraphs.cpp.
|
inline |
Backing graph access for the graph-traits implementation only. Analysis traversal must use this view's filtered methods above.
Definition at line 242 of file SlicedGraphs.h.
| void SVF::SlicedThreadCallGraphView::getCalleesOf | ( | const CallICFGNode * | callSite, |
| CallGraph::FunctionSet & | callees | ||
| ) | const |
Retained callees of a callsite.
Definition at line 679 of file SlicedGraphs.cpp.
| void SVF::SlicedThreadCallGraphView::getDirectCallsOf | ( | const CallGraphEdge * | edge, |
| std::vector< const CallICFGNode * > & | out | ||
| ) | const |
Retained callsites carried by an aggregated call-graph edge.
Definition at line 650 of file SlicedGraphs.cpp.
| void SVF::SlicedThreadCallGraphView::getForkEdgesOf | ( | const CallICFGNode * | callSite, |
| std::vector< const CallGraphEdge * > & | out | ||
| ) | const |
Retained thread relations indexed by their fork/join callsite. Join relations are deliberately separate from normal CallGraph adjacency.
Definition at line 699 of file SlicedGraphs.cpp.
| void SVF::SlicedThreadCallGraphView::getIndirectCallsOf | ( | const CallGraphEdge * | edge, |
| std::vector< const CallICFGNode * > & | out | ||
| ) | const |
Definition at line 659 of file SlicedGraphs.cpp.
|
inline |
Indirect call sites that lost all targets after filtering.
Definition at line 232 of file SlicedGraphs.h.
| void SVF::SlicedThreadCallGraphView::getInEdgesOf | ( | const CallGraphNode * | node, |
| std::vector< const CallGraphEdge * > & | out | ||
| ) | const |
Get in edges of a node (only returns kept edges and source nodes)
Definition at line 636 of file SlicedGraphs.cpp.
| void SVF::SlicedThreadCallGraphView::getJoinEdgesOf | ( | const CallICFGNode * | callSite, |
| std::vector< const CallGraphEdge * > & | out | ||
| ) | const |
Definition at line 718 of file SlicedGraphs.cpp.
Definition at line 219 of file SlicedGraphs.h.
|
inline |
Get all kept nodes.
Definition at line 214 of file SlicedGraphs.h.
| void SVF::SlicedThreadCallGraphView::getOutEdgesOf | ( | const CallGraphNode * | node, |
| std::vector< const CallGraphEdge * > & | out | ||
| ) | const |
Get out edges of a node (only returns kept edges and target nodes)
Definition at line 621 of file SlicedGraphs.cpp.
|
inline |
Canonical edge membership: keptEdges excludes edges whose call site was pruned, so endpoint checks alone are not enough (queries/traits use this).
Definition at line 226 of file SlicedGraphs.h.
| bool SVF::SlicedThreadCallGraphView::isKeptNode | ( | const CallGraphNode * | node | ) | const |
Check if a node is in the sliced view.
Definition at line 736 of file SlicedGraphs.cpp.
|
private |
Definition at line 255 of file SlicedGraphs.h.
|
private |
Definition at line 254 of file SlicedGraphs.h.
|
private |
Definition at line 251 of file SlicedGraphs.h.
|
private |
Definition at line 250 of file SlicedGraphs.h.
Definition at line 253 of file SlicedGraphs.h.
|
private |
Definition at line 252 of file SlicedGraphs.h.
|
private |
Definition at line 249 of file SlicedGraphs.h.
|
private |
Definition at line 248 of file SlicedGraphs.h.