|
SVF
|
#include <Graph2Json.h>
Public Member Functions | |
| ICFGPrinter () | |
| void | printICFGToJson (const std::string &filename) |
| std::string | getPAGNodeKindValue (int kind) |
| std::string | getPAGEdgeKindValue (int kind) |
| std::string | getICFGKind (const int kind) |
Public Member Functions inherited from SVF::ICFG | |
| ICFG () | |
| Constructor. More... | |
| virtual | ~ICFG () |
| Destructor. More... | |
| ICFGNode * | getICFGNode (NodeID id) const |
| Get a ICFG node. More... | |
| bool | hasICFGNode (NodeID id) const |
| Whether has the ICFGNode. More... | |
| ICFGEdge * | getICFGEdge (const ICFGNode *src, const ICFGNode *dst, ICFGEdge::ICFGEdgeK kind) |
| Get a SVFG edge according to src and dst. More... | |
| void | dump (const std::string &file, bool simple=false) |
| Dump graph into dot file. More... | |
| void | view () |
| View graph from the debugger. More... | |
| void | updateCallGraph (PTACallGraph *callgraph) |
| update ICFG for indirect calls More... | |
| void | removeICFGEdge (ICFGEdge *edge) |
| Remove a SVFG edge. More... | |
| void | removeICFGNode (ICFGNode *node) |
| Remove a ICFGNode. More... | |
| void | checkIntraEdgeParents (const ICFGNode *srcNode, const ICFGNode *dstNode) |
| sanitize Intra edges, verify that both nodes belong to the same function. More... | |
| bool | addICFGEdge (ICFGEdge *edge) |
| Add ICFG edge. More... | |
| virtual void | addICFGNode (ICFGNode *node) |
| Add a ICFG node. More... | |
| ICFGEdge * | hasIntraICFGEdge (ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind) |
| Whether we has a SVFG edge. More... | |
| ICFGEdge * | hasInterICFGEdge (ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind) |
| ICFGEdge * | hasThreadICFGEdge (ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind) |
| ICFGEdge * | addIntraEdge (ICFGNode *srcNode, ICFGNode *dstNode) |
| Add control-flow edges for top level pointers. More... | |
| ICFGEdge * | addConditionalIntraEdge (ICFGNode *srcNode, ICFGNode *dstNode, const Value *condition, NodeID branchID) |
| ICFGEdge * | addCallEdge (ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs) |
| ICFGEdge * | addRetEdge (ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs) |
| ICFGNode * | getBlockICFGNode (const Instruction *inst) |
| Get a basic block ICFGNode. More... | |
| CallBlockNode * | getCallBlockNode (const Instruction *inst) |
| RetBlockNode * | getRetBlockNode (const Instruction *inst) |
| IntraBlockNode * | getIntraBlockNode (const Instruction *inst) |
| FunEntryBlockNode * | getFunEntryBlockNode (const SVFFunction *fun) |
| Add a function entry node. More... | |
| FunExitBlockNode * | getFunExitBlockNode (const SVFFunction *fun) |
| Add a function exit node. More... | |
| GlobalBlockNode * | getGlobalBlockNode () const |
Public Member Functions inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
| GenericGraph () | |
| Constructor. More... | |
| virtual | ~GenericGraph () |
| Destructor. More... | |
| void | destroy () |
| Release memory. More... | |
| iterator | begin () |
| Iterators. More... | |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | addGNode (NodeID id, NodeType *node) |
| Add a Node. More... | |
| NodeType * | getGNode (NodeID id) const |
| Get a node. More... | |
| bool | hasGNode (NodeID id) const |
| Has a node. More... | |
| void | removeGNode (NodeType *node) |
| Delete a node. More... | |
| u32_t | getTotalNodeNum () const |
| Get total number of node/edge. More... | |
| u32_t | getTotalEdgeNum () const |
| void | incNodeNum () |
| Increase number of node/edge. More... | |
| void | incEdgeNum () |
Additional Inherited Members | |
Public Types inherited from SVF::ICFG | |
| typedef Map< NodeID, ICFGNode * > | ICFGNodeIDToNodeMapTy |
| typedef ICFGEdge::ICFGEdgeSetTy | ICFGEdgeSetTy |
| typedef ICFGNodeIDToNodeMapTy::iterator | iterator |
| typedef ICFGNodeIDToNodeMapTy::const_iterator | const_iterator |
| typedef Map< const SVFFunction *, FunEntryBlockNode * > | FunToFunEntryNodeMapTy |
| typedef Map< const SVFFunction *, FunExitBlockNode * > | FunToFunExitNodeMapTy |
| typedef Map< const Instruction *, CallBlockNode * > | CSToCallNodeMapTy |
| typedef Map< const Instruction *, RetBlockNode * > | CSToRetNodeMapTy |
| typedef Map< const Instruction *, IntraBlockNode * > | InstToBlockNodeMapTy |
Public Types inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
| typedef NodeTy | NodeType |
| typedef EdgeTy | EdgeType |
| typedef Map< NodeID, NodeType * > | IDToNodeMapTy |
| NodeID to GenericNode map. More... | |
| typedef IDToNodeMapTy::iterator | iterator |
| Node Iterators. More... | |
| typedef IDToNodeMapTy::const_iterator | const_iterator |
Public Attributes inherited from SVF::ICFG | |
| NodeID | totalICFGNode |
Public Attributes inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
| u32_t | edgeNum |
| total num of node More... | |
| u32_t | nodeNum |
| total num of edge More... | |
Protected Attributes inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
| IDToNodeMapTy | IDToNodeMap |
| node map More... | |
Definition at line 16 of file Graph2Json.h.
| ICFGPrinter::ICFGPrinter | ( | ) |
Definition at line 10 of file Graph2Json.cpp.
| std::string ICFGPrinter::getICFGKind | ( | const int | kind | ) |
Definition at line 140 of file Graph2Json.cpp.
| std::string ICFGPrinter::getPAGEdgeKindValue | ( | int | kind | ) |
Definition at line 200 of file Graph2Json.cpp.
| std::string ICFGPrinter::getPAGNodeKindValue | ( | int | kind | ) |
Definition at line 165 of file Graph2Json.cpp.
| void ICFGPrinter::printICFGToJson | ( | const std::string & | filename | ) |
Definition at line 11 of file Graph2Json.cpp.
1.8.13