Static Value-Flow Analysis
|
#include <WPAFSSolver.h>
Public Types | |
typedef WPASolver< GraphType >::GTraits | GTraits |
typedef WPASolver< GraphType >::GNODE | GNODE |
typedef WPASolver< GraphType >::child_iterator | child_iterator |
Public Types inherited from SVF::WPASolver< GraphType > | |
typedef SVF::GenericGraphTraits< GraphType > | GTraits |
Define the GTraits and node iterator for printing. | |
typedef GTraits::NodeRef | GNODE |
typedef GTraits::EdgeType | GEDGE |
typedef GTraits::ChildIteratorType | child_iterator |
typedef SCCDetection< GraphType > | SCC |
typedef FIFOWorkList< NodeID > | WorkList |
Public Member Functions | |
WPASCCSolver () | |
virtual | ~WPASCCSolver () |
Public Member Functions inherited from SVF::WPAFSSolver< GraphType > | |
WPAFSSolver () | |
Constructor. | |
virtual | ~WPAFSSolver () |
Destructor. | |
virtual NodeID | sccRepNode (NodeID id) const |
SCC methods. | |
Protected Member Functions | |
virtual void | solve () |
virtual void | propagate (GNODE *v) |
Propagation for the solving, to be implemented in the child class. | |
virtual void | addNodeIntoWorkList (NodeID node) |
bool | isInCurrentSCC (NodeID node) |
void | setCurrentSCC (NodeID id) |
Protected Member Functions inherited from SVF::WPAFSSolver< GraphType > | |
virtual NodeStack & | SCCDetect () |
SCC detection. | |
Protected Member Functions inherited from SVF::WPASolver< GraphType > | |
WPASolver () | |
Constructor. | |
virtual | ~WPASolver ()=default |
Destructor. | |
SCC * | getSCCDetector () const |
Get SCC detector. | |
const GraphType | graph () |
Get/Set graph methods. | |
void | setGraph (GraphType g) |
virtual NodeStack & | SCCDetect (NodeSet &candidates) |
virtual void | initWorklist () |
virtual void | solveWorklist () |
virtual void | processNode (NodeID) |
Following methods are to be implemented in child class, in order to achieve a fully worked PTA. | |
virtual void | collapseFields () |
collapse positive weight cycles of a graph | |
virtual bool | propFromSrcToDst (GEDGE *) |
Propagate information from source to destination node, to be implemented in the child class. | |
NodeID | popFromWorklist () |
Worklist operations. | |
virtual void | pushIntoWorklist (NodeID id) |
bool | isWorklistEmpty () |
bool | isInWorklist (NodeID id) |
GNODE * | Node (NodeID id) |
Get node on the graph. | |
NodeID | Node_Index (GNODE node) |
Get node ID. | |
Protected Attributes | |
NodeID | curSCCID |
index of current SCC. | |
Protected Attributes inherited from SVF::WPAFSSolver< GraphType > | |
NodeStack | nodeStack |
stack used for processing nodes. | |
Protected Attributes inherited from SVF::WPASolver< GraphType > | |
bool | reanalyze |
Reanalyze if any constraint value changed. | |
u32_t | iterationForPrintStat |
print out statistics for i-th iteration | |
GraphType | _graph |
Graph. | |
std::unique_ptr< SCC > | scc |
SCC. | |
WorkList | worklist |
Worklist for resolution. | |
Additional Inherited Members | |
Public Attributes inherited from SVF::WPASolver< GraphType > | |
u32_t | numOfIteration |
num of iterations during constraint solving | |
Solver based on SCC cycles.
Definition at line 107 of file WPAFSSolver.h.
typedef WPASolver<GraphType>::child_iterator SVF::WPASCCSolver< GraphType >::child_iterator |
Definition at line 112 of file WPAFSSolver.h.
typedef WPASolver<GraphType>::GNODE SVF::WPASCCSolver< GraphType >::GNODE |
Definition at line 111 of file WPAFSSolver.h.
typedef WPASolver<GraphType>::GTraits SVF::WPASCCSolver< GraphType >::GTraits |
Definition at line 110 of file WPAFSSolver.h.
|
inline |
Definition at line 114 of file WPAFSSolver.h.
|
inlinevirtual |
Definition at line 116 of file WPAFSSolver.h.
|
inlineprotectedvirtual |
Reimplemented in SVF::WPAMinimumSolver< GraphType >.
Definition at line 156 of file WPAFSSolver.h.
|
inlineprotected |
Definition at line 162 of file WPAFSSolver.h.
|
inlineprotectedvirtual |
Propagation for the solving, to be implemented in the child class.
Reimplemented from SVF::WPASolver< GraphType >.
Definition at line 145 of file WPAFSSolver.h.
|
inlineprotected |
Definition at line 166 of file WPAFSSolver.h.
|
inlineprotectedvirtual |
All nodes will be solved afterwards, so the worklist can be cleared before each solve iteration.
Reimplemented in SVF::WPAMinimumSolver< GraphType >.
Definition at line 119 of file WPAFSSolver.h.
|
protected |
index of current SCC.
Definition at line 171 of file WPAFSSolver.h.