|
Static Value-Flow Analysis
|
#include <SlicedGraphs.h>
Public Member Functions | |
| SlicedICFGView (ICFG *icfg, const OrderedSet< const ICFGNode * > &keepNodes) | |
| Build an ICFG view from its explicit node membership. | |
| void | getSuccNodes (const ICFGNode *node, std::vector< const ICFGNode * > &out) const |
| Get successor nodes (including bridged edges) | |
| void | getPredNodes (const ICFGNode *node, std::vector< const ICFGNode * > &out) const |
| Get predecessor nodes (including bridged edges) | |
| bool | isKeptNode (const ICFGNode *node) const |
| Check if a node is in the sliced view. | |
| const ICFGNode * | getFunEntry (const FunObjVar *fun) const |
| First kept node of fun's entry, or null when fun is outside the view. | |
| const ICFGNode * | getFunExit (const FunObjVar *fun) const |
| Kept synthetic exit node of fun, or null when fun is outside the view. | |
| void | getFunICFGNodes (const FunObjVar *fun, std::vector< const ICFGNode * > &out) const |
| Kept ICFG nodes of fun. | |
| const OrderedSet< const ICFGNode * > & | getKeptNodes () const |
| Get all kept nodes. | |
| const OrderedSet< const ICFGNode * > * | bridgedSuccsOf (const ICFGNode *n) const |
| const OrderedSet< const ICFGNode * > * | bridgedPredsOf (const ICFGNode *n) const |
| void | dump (const std::string &filename) const |
| Dump sliced ICFG to dot file. | |
| ICFG * | getOriginalICFG () const |
| Get original ICFG. | |
Private Member Functions | |
| void | buildICFGSets (const OrderedSet< const ICFGNode * > &keepNodes) |
| void | buildBridgedEdges () |
Static Private Member Functions | |
| static void | getLocalSuccessors (const ICFGNode *node, const Map< const ICFGNode *, const ICFGNode * > &callsiteReturnNodes, std::vector< const ICFGNode * > &successors) |
Private Attributes | |
| ICFG * | icfg |
| OrderedSet< const ICFGNode * > | keptNodes |
| Map< const ICFGNode *, OrderedSet< const ICFGNode * > > | bridgedEdges |
| Map< const ICFGNode *, OrderedSet< const ICFGNode * > > | bridgedPreds |
| Set< const ICFGNode * > | keptNodesSet |
Definition at line 58 of file SlicedGraphs.h.
| SVF::SlicedICFGView::SlicedICFGView | ( | ICFG * | icfg, |
| const OrderedSet< const ICFGNode * > & | keepNodes | ||
| ) |
Build an ICFG view from its explicit node membership.
Definition at line 267 of file SlicedGraphs.cpp.
|
inline |
Definition at line 96 of file SlicedGraphs.h.
|
inline |
Bridged (synthetic) successors/predecessors of a kept node, or null if none. The traits iterators use these alongside the node's kept original edges.
Definition at line 91 of file SlicedGraphs.h.
|
private |
Definition at line 330 of file SlicedGraphs.cpp.
|
private |
Definition at line 319 of file SlicedGraphs.cpp.
| void SVF::SlicedICFGView::dump | ( | const std::string & | filename | ) | const |
Dump sliced ICFG to dot file.
Definition at line 311 of file SlicedGraphs.cpp.
First kept node of fun's entry, or null when fun is outside the view.
Definition at line 883 of file SlicedGraphs.cpp.
Kept synthetic exit node of fun, or null when fun is outside the view.
Definition at line 911 of file SlicedGraphs.cpp.
| void SVF::SlicedICFGView::getFunICFGNodes | ( | const FunObjVar * | fun, |
| std::vector< const ICFGNode * > & | out | ||
| ) | const |
Kept ICFG nodes of fun.
Definition at line 917 of file SlicedGraphs.cpp.
|
inline |
|
staticprivate |
Definition at line 531 of file SlicedGraphs.cpp.
|
inline |
| void SVF::SlicedICFGView::getPredNodes | ( | const ICFGNode * | node, |
| std::vector< const ICFGNode * > & | out | ||
| ) | const |
Get predecessor nodes (including bridged edges)
Definition at line 292 of file SlicedGraphs.cpp.
| void SVF::SlicedICFGView::getSuccNodes | ( | const ICFGNode * | node, |
| std::vector< const ICFGNode * > & | out | ||
| ) | const |
Get successor nodes (including bridged edges)
Definition at line 278 of file SlicedGraphs.cpp.
Check if a node is in the sliced view.
Definition at line 306 of file SlicedGraphs.cpp.
Definition at line 114 of file SlicedGraphs.h.
Definition at line 117 of file SlicedGraphs.h.
|
private |
Definition at line 112 of file SlicedGraphs.h.
|
private |
Definition at line 113 of file SlicedGraphs.h.
Definition at line 118 of file SlicedGraphs.h.