|
Static Value-Flow Analysis
|
#include <SVFGStat.h>
Public Types | |
| typedef Set< const SVFGNode * > | SVFGNodeSet |
| typedef OrderedSet< const SVFGEdge * > | SVFGEdgeSet |
| typedef SCCDetection< SVFG * > | SVFGSCC |
| Public Types inherited from SVF::SVFStat | |
| enum class | ClockType { Wall , CPU } |
| typedef OrderedMap< std::string, u32_t > | NUMStatMap |
| typedef OrderedMap< std::string, double > | TIMEStatMap |
Public Member Functions | |
| SVFGStat (SVFG *g) | |
| virtual | ~SVFGStat () |
| virtual void | performStat () override |
| virtual void | printStat (std::string str="") override |
| virtual void | performSCCStat (SVFGEdgeSet insensitiveCalRetEdges) |
| void | dirVFEdgeStart () |
| void | dirVFEdgeEnd () |
| void | indVFEdgeStart () |
| void | indVFEdgeEnd () |
| void | TLVFNodeStart () |
| void | TLVFNodeEnd () |
| void | ATVFNodeStart () |
| void | ATVFNodeEnd () |
| void | sfvgOptStart () |
| void | sfvgOptEnd () |
| void | addToSources (const SVFGNode *node) |
| void | addToSinks (const SVFGNode *node) |
| void | addToForwardSlice (const SVFGNode *node) |
| void | addToBackwardSlice (const SVFGNode *node) |
| bool | inForwardSlice (const SVFGNode *node) const |
| bool | inBackwardSlice (const SVFGNode *node) const |
| bool | isSource (const SVFGNode *node) const |
| bool | isSink (const SVFGNode *node) const |
| Public Member Functions inherited from SVF::PTAStat | |
| PTAStat (PointerAnalysis *p) | |
| virtual | ~PTAStat () |
| void | setMemUsageBefore (u32_t vmrss, u32_t vmsize) |
| void | setMemUsageAfter (u32_t vmrss, u32_t vmsize) |
| void | callgraphStat () override |
| Public Member Functions inherited from SVF::SVFStat | |
| SVFStat () | |
| virtual | ~SVFStat () |
| virtual void | startClk () |
| virtual void | endClk () |
| virtual void | performStatPerQuery (NodeID) |
| virtual void | printStatPerQuery (NodeID, const PointsTo &) |
Private Member Functions | |
| void | clear () |
| void | processGraph () |
| void | calculateNodeDegrees (SVFGNode *node, NodeSet &nodeHasIndInEdge, NodeSet &nodeHasIndOutEdge) |
| NodeID | getSCCRep (SVFGSCC *scc, NodeID id) const |
| NodeID | nodeInCycle (SVFGSCC *scc, NodeID id) const |
Private Attributes | |
| SVFG * | graph |
| int | numOfNodes |
| number of svfg nodes. | |
| int | numOfFormalIn |
| number of formal in svfg nodes. | |
| int | numOfFormalOut |
| number of formal out svfg nodes. | |
| int | numOfFormalParam |
| int | numOfFormalRet |
| int | numOfActualIn |
| number of actual in svfg nodes. | |
| int | numOfActualOut |
| number of actual out svfg nodes. | |
| int | numOfActualParam |
| int | numOfActualRet |
| int | numOfLoad |
| number of load svfg nodes. | |
| int | numOfStore |
| number of store svfg nodes. | |
| int | numOfCopy |
| int | numOfGep |
| int | numOfAddr |
| int | numOfMSSAPhi |
| number of mssa phi svfg nodes. | |
| int | numOfPhi |
| int | totalInEdge |
| Total number of incoming SVFG edges. | |
| int | totalOutEdge |
| Total number of outgoing SVFG edges. | |
| int | totalIndInEdge |
| Total number of indirect SVFG edges. | |
| int | totalIndOutEdge |
| int | totalIndEdgeLabels |
| Total number of l –o--> lp. | |
| int | totalIndCallEdge |
| int | totalIndRetEdge |
| int | totalDirCallEdge |
| int | totalDirRetEdge |
| int | avgWeight |
| average weight. | |
| int | avgInDegree |
| average in degrees of SVFG nodes. | |
| int | avgOutDegree |
| average out degrees of SVFG nodes. | |
| u32_t | maxInDegree |
| max in degrees of SVFG nodes. | |
| u32_t | maxOutDegree |
| max out degrees of SVFG nodes. | |
| int | avgIndInDegree |
| average indirect in degrees of SVFG nodes. | |
| int | avgIndOutDegree |
| average indirect out degrees of SVFG nodes. | |
| u32_t | maxIndInDegree |
| max indirect in degrees of SVFG nodes. | |
| u32_t | maxIndOutDegree |
| max indirect out degrees of SVFG nodes. | |
| double | addTopLevelNodeTimeStart |
| double | addTopLevelNodeTimeEnd |
| double | addAddrTakenNodeTimeStart |
| double | addAddrTakenNodeTimeEnd |
| double | connectDirSVFGEdgeTimeStart |
| double | connectDirSVFGEdgeTimeEnd |
| double | connectIndSVFGEdgeTimeStart |
| double | connectIndSVFGEdgeTimeEnd |
| double | svfgOptTimeStart |
| double | svfgOptTimeEnd |
| SVFGNodeSet | forwardSlice |
| SVFGNodeSet | backwardSlice |
| SVFGNodeSet | sources |
| SVFGNodeSet | sinks |
Additional Inherited Members | |
| Static Public Member Functions inherited from SVF::SVFStat | |
| static double | getClk (bool mark=false) |
| Public Attributes inherited from SVF::PTAStat | |
| NodeBS | localVarInRecursion |
| Public Attributes inherited from SVF::SVFStat | |
| NUMStatMap | generalNumMap |
| NUMStatMap | PTNumStatMap |
| TIMEStatMap | timeStatMap |
| double | startTime |
| double | endTime |
| Static Public Attributes inherited from SVF::SVFStat | |
| static bool | printGeneralStats = true |
| SVF's general statistics are only printed once even if you run multiple anayses. | |
| static double | timeOfBuildingLLVMModule = 0 |
| static double | timeOfBuildingSymbolTable = 0 |
| static double | timeOfBuildingSVFIR = 0 |
| Protected Attributes inherited from SVF::PTAStat | |
| PointerAnalysis * | pta |
| u32_t | _vmrssUsageBefore |
| u32_t | _vmrssUsageAfter |
| u32_t | _vmsizeUsageBefore |
| u32_t | _vmsizeUsageAfter |
Definition at line 92 of file SVFGStat.h.
| typedef OrderedSet<const SVFGEdge*> SVF::SVFGStat::SVFGEdgeSet |
Definition at line 96 of file SVFGStat.h.
| typedef Set<const SVFGNode*> SVF::SVFGStat::SVFGNodeSet |
Definition at line 95 of file SVFGStat.h.
| typedef SCCDetection<SVFG*> SVF::SVFGStat::SVFGSCC |
Definition at line 97 of file SVFGStat.h.
| SVFGStat::SVFGStat | ( | SVFG * | g | ) |
Constructor
Definition at line 136 of file SVFGStat.cpp.
|
inlinevirtual |
Definition at line 101 of file SVFGStat.h.
|
inline |
Definition at line 249 of file SVFGStat.h.
|
inline |
Definition at line 245 of file SVFGStat.h.
|
inline |
Definition at line 241 of file SVFGStat.h.
|
inline |
Definition at line 237 of file SVFGStat.h.
|
inline |
Definition at line 144 of file SVFGStat.h.
|
inline |
Definition at line 139 of file SVFGStat.h.
|
private |
Definition at line 302 of file SVFGStat.cpp.
|
private |
Definition at line 148 of file SVFGStat.cpp.
|
inline |
Definition at line 114 of file SVFGStat.h.
|
inline |
Definition at line 109 of file SVFGStat.h.
Definition at line 169 of file SVFGStat.cpp.
|
inline |
Definition at line 257 of file SVFGStat.h.
|
inline |
Definition at line 124 of file SVFGStat.h.
|
inline |
Definition at line 119 of file SVFGStat.h.
|
inline |
Definition at line 253 of file SVFGStat.h.
|
inline |
Definition at line 265 of file SVFGStat.h.
|
inline |
Definition at line 261 of file SVFGStat.h.
Definition at line 173 of file SVFGStat.cpp.
|
virtual |
Definition at line 369 of file SVFGStat.cpp.
|
overridevirtual |
Reimplemented from SVF::PTAStat.
Definition at line 178 of file SVFGStat.cpp.
|
overridevirtual |
Reimplemented from SVF::SVFStat.
Definition at line 499 of file SVFGStat.cpp.
|
private |
Definition at line 244 of file SVFGStat.cpp.
|
inline |
Definition at line 154 of file SVFGStat.h.
|
inline |
Definition at line 149 of file SVFGStat.h.
|
inline |
Definition at line 134 of file SVFGStat.h.
|
inline |
Definition at line 129 of file SVFGStat.h.
|
private |
Definition at line 220 of file SVFGStat.h.
|
private |
Definition at line 219 of file SVFGStat.h.
|
private |
Definition at line 217 of file SVFGStat.h.
|
private |
Definition at line 216 of file SVFGStat.h.
|
private |
average in degrees of SVFG nodes.
Definition at line 206 of file SVFGStat.h.
|
private |
average indirect in degrees of SVFG nodes.
Definition at line 211 of file SVFGStat.h.
|
private |
average indirect out degrees of SVFG nodes.
Definition at line 212 of file SVFGStat.h.
|
private |
average out degrees of SVFG nodes.
Definition at line 207 of file SVFGStat.h.
|
private |
average weight.
Definition at line 204 of file SVFGStat.h.
|
private |
Definition at line 232 of file SVFGStat.h.
|
private |
Definition at line 223 of file SVFGStat.h.
|
private |
Definition at line 222 of file SVFGStat.h.
|
private |
Definition at line 226 of file SVFGStat.h.
|
private |
Definition at line 225 of file SVFGStat.h.
|
private |
Definition at line 231 of file SVFGStat.h.
|
private |
Definition at line 170 of file SVFGStat.h.
|
private |
max in degrees of SVFG nodes.
Definition at line 208 of file SVFGStat.h.
|
private |
max indirect in degrees of SVFG nodes.
Definition at line 213 of file SVFGStat.h.
|
private |
max indirect out degrees of SVFG nodes.
Definition at line 214 of file SVFGStat.h.
|
private |
max out degrees of SVFG nodes.
Definition at line 209 of file SVFGStat.h.
|
private |
number of actual in svfg nodes.
Definition at line 179 of file SVFGStat.h.
|
private |
number of actual out svfg nodes.
Definition at line 180 of file SVFGStat.h.
|
private |
Definition at line 181 of file SVFGStat.h.
|
private |
Definition at line 182 of file SVFGStat.h.
|
private |
Definition at line 188 of file SVFGStat.h.
|
private |
Definition at line 186 of file SVFGStat.h.
|
private |
number of formal in svfg nodes.
Definition at line 174 of file SVFGStat.h.
|
private |
number of formal out svfg nodes.
Definition at line 175 of file SVFGStat.h.
|
private |
Definition at line 176 of file SVFGStat.h.
|
private |
Definition at line 177 of file SVFGStat.h.
|
private |
Definition at line 187 of file SVFGStat.h.
|
private |
number of load svfg nodes.
Definition at line 184 of file SVFGStat.h.
|
private |
number of mssa phi svfg nodes.
Definition at line 190 of file SVFGStat.h.
|
private |
number of svfg nodes.
Definition at line 172 of file SVFGStat.h.
|
private |
Definition at line 191 of file SVFGStat.h.
|
private |
number of store svfg nodes.
Definition at line 185 of file SVFGStat.h.
|
private |
Definition at line 234 of file SVFGStat.h.
|
private |
Definition at line 233 of file SVFGStat.h.
|
private |
Definition at line 229 of file SVFGStat.h.
|
private |
Definition at line 228 of file SVFGStat.h.
|
private |
Definition at line 201 of file SVFGStat.h.
|
private |
Definition at line 202 of file SVFGStat.h.
|
private |
Definition at line 199 of file SVFGStat.h.
|
private |
Total number of l –o--> lp.
Definition at line 197 of file SVFGStat.h.
|
private |
Total number of indirect SVFG edges.
Definition at line 195 of file SVFGStat.h.
|
private |
Definition at line 196 of file SVFGStat.h.
|
private |
Definition at line 200 of file SVFGStat.h.
|
private |
Total number of incoming SVFG edges.
Definition at line 193 of file SVFGStat.h.
|
private |
Total number of outgoing SVFG edges.
Definition at line 194 of file SVFGStat.h.