svf-tools 1.0.577 → 1.0.578
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/CFLAlias_8cpp.html +0 -1
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +18 -25
- package/SVF-doxygen/html/html/CFLAlias_8h.html +1 -8
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +23 -49
- package/SVF-doxygen/html/html/CFLBase_8h.html +103 -0
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +124 -0
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +5 -4
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +24 -19
- package/SVF-doxygen/html/html/CFLStat_8h.html +1 -0
- package/SVF-doxygen/html/html/CFLStat_8h_source.html +22 -21
- package/SVF-doxygen/html/html/CFLVF_8cpp.html +0 -2
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +5 -8
- package/SVF-doxygen/html/html/CFLVF_8h.html +3 -8
- package/SVF-doxygen/html/html/CFLVF_8h_source.html +12 -26
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +271 -270
- package/SVF-doxygen/html/html/cfl_8cpp.html +6 -9
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +75 -71
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +239 -679
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +275 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +1341 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +33 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +91 -72
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +243 -274
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +12 -11
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
- package/SVF-doxygen/html/html/classes.html +96 -95
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +2 -0
- package/SVF-doxygen/html/html/files.html +8 -7
- package/SVF-doxygen/html/html/functions_0x7e.html +2 -5
- package/SVF-doxygen/html/html/functions_a.html +10 -9
- package/SVF-doxygen/html/html/functions_c.html +28 -28
- package/SVF-doxygen/html/html/functions_f.html +17 -16
- package/SVF-doxygen/html/html/functions_func.html +6 -5
- package/SVF-doxygen/html/html/functions_func_0x7e.html +2 -5
- package/SVF-doxygen/html/html/functions_func_c.html +29 -21
- package/SVF-doxygen/html/html/functions_func_f.html +4 -1
- package/SVF-doxygen/html/html/functions_func_g.html +14 -11
- package/SVF-doxygen/html/html/functions_func_i.html +10 -7
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +18 -17
- package/SVF-doxygen/html/html/functions_i.html +10 -7
- package/SVF-doxygen/html/html/functions_l.html +6 -6
- package/SVF-doxygen/html/html/functions_m.html +2 -2
- package/SVF-doxygen/html/html/functions_n.html +14 -11
- package/SVF-doxygen/html/html/functions_o.html +15 -15
- package/SVF-doxygen/html/html/functions_p.html +19 -15
- package/SVF-doxygen/html/html/functions_r.html +3 -7
- package/SVF-doxygen/html/html/functions_s.html +16 -16
- package/SVF-doxygen/html/html/functions_t.html +9 -6
- package/SVF-doxygen/html/html/functions_type_c.html +0 -1
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_a.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +0 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +2 -4
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_n.html +11 -8
- package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +2 -4
- package/SVF-doxygen/html/html/functions_vars_t.html +9 -6
- package/SVF-doxygen/html/html/hierarchy.html +58 -57
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +2 -2
- package/SVF-doxygen/html/html/search/all_10.js +11 -11
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +11 -11
- package/SVF-doxygen/html/html/search/all_13.js +9 -8
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +1 -2
- package/SVF-doxygen/html/html/search/all_3.js +5 -2
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +4 -3
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +4 -4
- package/SVF-doxygen/html/html/search/all_d.js +3 -3
- package/SVF-doxygen/html/html/search/all_e.js +11 -10
- package/SVF-doxygen/html/html/search/all_f.js +2 -2
- package/SVF-doxygen/html/html/search/classes_2.js +1 -0
- package/SVF-doxygen/html/html/search/files_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_0.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_17.js +1 -2
- package/SVF-doxygen/html/html/search/functions_2.js +3 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +1 -1
- package/SVF-doxygen/html/html/search/variables_10.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +2 -2
- package/SVF-doxygen/html/html/search/variables_13.js +9 -8
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +9 -8
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/CFL/CFLAlias.h +10 -47
- package/include/CFL/CFLBase.h +111 -0
- package/include/CFL/CFLStat.h +4 -2
- package/include/CFL/CFLVF.h +13 -23
- package/include/Graphs/CFLGraph.h +5 -0
- package/lib/CFL/CFLAlias.cpp +60 -52
- package/lib/CFL/CFLStat.cpp +11 -19
- package/lib/CFL/CFLVF.cpp +40 -35
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +12 -25
|
@@ -80,26 +80,27 @@ Inheritance diagram for SVF::GenericNode< NodeTy, EdgeTy >:</div>
|
|
|
80
80
|
<img src="classSVF_1_1GenericNode.png" usemap="#SVF::GenericNode_3C_20NodeTy_2C_20EdgeTy_20_3E_map" alt=""/>
|
|
81
81
|
<map id="SVF::GenericNode_3C_20NodeTy_2C_20EdgeTy_20_3E_map" name="SVF::GenericNode_3C_20NodeTy_2C_20EdgeTy_20_3E_map">
|
|
82
82
|
<area href="classSVF_1_1CHNode.html" alt="SVF::CHNode" shape="rect" coords="0,56,238,80"/>
|
|
83
|
-
<area href="
|
|
84
|
-
<area href="
|
|
85
|
-
<area href="
|
|
86
|
-
<area href="
|
|
87
|
-
<area href="
|
|
88
|
-
<area href="
|
|
89
|
-
<area href="
|
|
90
|
-
<area href="
|
|
91
|
-
<area href="
|
|
92
|
-
<area href="
|
|
93
|
-
<area href="
|
|
94
|
-
<area href="
|
|
95
|
-
<area href="
|
|
96
|
-
<area href="
|
|
97
|
-
<area href="
|
|
98
|
-
<area href="
|
|
99
|
-
<area href="
|
|
100
|
-
<area href="
|
|
101
|
-
<area href="
|
|
102
|
-
<area href="
|
|
83
|
+
<area href="classSVF_1_1ConstraintNode.html" alt="SVF::ConstraintNode" shape="rect" coords="248,56,486,80"/>
|
|
84
|
+
<area href="classSVF_1_1ICFGNode.html" alt="SVF::ICFGNode" shape="rect" coords="496,56,734,80"/>
|
|
85
|
+
<area href="classSVF_1_1PTACallGraphNode.html" alt="SVF::PTACallGraphNode" shape="rect" coords="744,56,982,80"/>
|
|
86
|
+
<area href="classSVF_1_1SVFVar.html" alt="SVF::SVFVar" shape="rect" coords="992,56,1230,80"/>
|
|
87
|
+
<area href="classSVF_1_1TCTNode.html" alt="SVF::TCTNode" shape="rect" coords="1240,56,1478,80"/>
|
|
88
|
+
<area href="classSVF_1_1VFGNode.html" alt="SVF::VFGNode" shape="rect" coords="1488,56,1726,80"/>
|
|
89
|
+
<area href="classSVF_1_1GlobalICFGNode.html" alt="SVF::GlobalICFGNode" shape="rect" coords="744,112,982,136"/>
|
|
90
|
+
<area href="classSVF_1_1InterICFGNode.html" alt="SVF::InterICFGNode" shape="rect" coords="744,168,982,192"/>
|
|
91
|
+
<area href="classSVF_1_1IntraICFGNode.html" alt="SVF::IntraICFGNode" shape="rect" coords="744,224,982,248"/>
|
|
92
|
+
<area href="classSVF_1_1ObjVar.html" alt="SVF::ObjVar" shape="rect" coords="1240,112,1478,136"/>
|
|
93
|
+
<area href="classSVF_1_1ValVar.html" alt="SVF::ValVar" shape="rect" coords="1240,168,1478,192"/>
|
|
94
|
+
<area href="classSVF_1_1ArgumentVFGNode.html" alt="SVF::ArgumentVFGNode" shape="rect" coords="1736,112,1974,136"/>
|
|
95
|
+
<area href="classSVF_1_1BinaryOPVFGNode.html" alt="SVF::BinaryOPVFGNode" shape="rect" coords="1736,168,1974,192"/>
|
|
96
|
+
<area href="classSVF_1_1BranchVFGNode.html" alt="SVF::BranchVFGNode" shape="rect" coords="1736,224,1974,248"/>
|
|
97
|
+
<area href="classSVF_1_1CmpVFGNode.html" alt="SVF::CmpVFGNode" shape="rect" coords="1736,280,1974,304"/>
|
|
98
|
+
<area href="classSVF_1_1DummyVersionPropSVFGNode.html" alt="SVF::DummyVersionPropSVFGNode" shape="rect" coords="1736,336,1974,360"/>
|
|
99
|
+
<area href="classSVF_1_1MRSVFGNode.html" alt="SVF::MRSVFGNode" shape="rect" coords="1736,392,1974,416"/>
|
|
100
|
+
<area href="classSVF_1_1NullPtrVFGNode.html" alt="SVF::NullPtrVFGNode" shape="rect" coords="1736,448,1974,472"/>
|
|
101
|
+
<area href="classSVF_1_1PHIVFGNode.html" alt="SVF::PHIVFGNode" shape="rect" coords="1736,504,1974,528"/>
|
|
102
|
+
<area href="classSVF_1_1StmtVFGNode.html" alt="SVF::StmtVFGNode" shape="rect" coords="1736,560,1974,584"/>
|
|
103
|
+
<area href="classSVF_1_1UnaryOPVFGNode.html" alt="SVF::UnaryOPVFGNode" shape="rect" coords="1736,616,1974,640"/>
|
|
103
104
|
</map>
|
|
104
105
|
</div></div>
|
|
105
106
|
<table class="memberdecls">
|
|
Binary file
|
|
@@ -84,19 +84,20 @@ Inheritance diagram for SVF::PointerAnalysis:</div>
|
|
|
84
84
|
<img src="classSVF_1_1PointerAnalysis.png" usemap="#SVF::PointerAnalysis_map" alt=""/>
|
|
85
85
|
<map id="SVF::PointerAnalysis_map" name="SVF::PointerAnalysis_map">
|
|
86
86
|
<area href="classSVF_1_1CondPTAImpl.html" alt="SVF::CondPTAImpl< ContextCond >" shape="rect" coords="0,56,215,80"/>
|
|
87
|
-
<area href="classSVF_1_1BVDataPTAImpl.html" alt="SVF::BVDataPTAImpl" shape="rect" coords="
|
|
88
|
-
<area href="classSVF_1_1CondPTAImpl.html" alt="SVF::CondPTAImpl< Cond >" shape="rect" coords="
|
|
87
|
+
<area href="classSVF_1_1BVDataPTAImpl.html" alt="SVF::BVDataPTAImpl" shape="rect" coords="1012,56,1227,80"/>
|
|
88
|
+
<area href="classSVF_1_1CondPTAImpl.html" alt="SVF::CondPTAImpl< Cond >" shape="rect" coords="1237,56,1452,80"/>
|
|
89
89
|
<area href="classSVF_1_1ContextDDA.html" alt="SVF::ContextDDA" shape="rect" coords="0,112,215,136"/>
|
|
90
90
|
<area href="classSVF_1_1AndersenBase.html" alt="SVF::AndersenBase" shape="rect" coords="337,112,552,136"/>
|
|
91
|
-
<area href="
|
|
92
|
-
<area href="
|
|
93
|
-
<area href="
|
|
94
|
-
<area href="classSVF_1_1FlowSensitive.html" alt="SVF::FlowSensitive" shape="rect" coords="1237,112,1452,136"/>
|
|
91
|
+
<area href="classSVF_1_1CFLBase.html" alt="SVF::CFLBase" shape="rect" coords="900,112,1115,136"/>
|
|
92
|
+
<area href="classSVF_1_1FlowDDA.html" alt="SVF::FlowDDA" shape="rect" coords="1125,112,1340,136"/>
|
|
93
|
+
<area href="classSVF_1_1FlowSensitive.html" alt="SVF::FlowSensitive" shape="rect" coords="1350,112,1565,136"/>
|
|
95
94
|
<area href="classSVF_1_1Andersen.html" alt="SVF::Andersen" shape="rect" coords="112,168,327,192"/>
|
|
96
95
|
<area href="classSVF_1_1Steensgaard.html" alt="SVF::Steensgaard" shape="rect" coords="337,168,552,192"/>
|
|
97
96
|
<area href="classSVF_1_1TypeAnalysis.html" alt="SVF::TypeAnalysis" shape="rect" coords="562,168,777,192"/>
|
|
98
|
-
<area href="
|
|
99
|
-
<area href="
|
|
97
|
+
<area href="classSVF_1_1CFLAlias.html" alt="SVF::CFLAlias" shape="rect" coords="787,168,1002,192"/>
|
|
98
|
+
<area href="classSVF_1_1CFLVF.html" alt="SVF::CFLVF" shape="rect" coords="1012,168,1227,192"/>
|
|
99
|
+
<area href="classSVF_1_1FSMPTA.html" alt="SVF::FSMPTA" shape="rect" coords="1237,168,1452,192"/>
|
|
100
|
+
<area href="classSVF_1_1VersionedFlowSensitive.html" alt="SVF::VersionedFlowSensitive" shape="rect" coords="1462,168,1677,192"/>
|
|
100
101
|
<area href="classSVF_1_1AndersenSCD.html" alt="SVF::AndersenSCD" shape="rect" coords="0,224,215,248"/>
|
|
101
102
|
<area href="classSVF_1_1AndersenWaveDiff.html" alt="SVF::AndersenWaveDiff" shape="rect" coords="225,224,440,248"/>
|
|
102
103
|
<area href="classSVF_1_1AndersenSFR.html" alt="SVF::AndersenSFR" shape="rect" coords="0,280,215,304"/>
|
|
@@ -867,7 +868,7 @@ Private Member Functions</h2></td></tr>
|
|
|
867
868
|
|
|
868
869
|
<p>Start Analysis here (main part of pointer analysis). It needs to be implemented in child class. </p>
|
|
869
870
|
|
|
870
|
-
<p>Implemented in <a class="el" href="classSVF_1_1FlowSensitive.html#a267f7198600dde3054feb40def7a6681">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1ContextDDA.html#ac8fe1cb3af6048a28028f00bb87a5eba">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1FlowDDA.html#aa26f9b5ba2e51f904d8ede1db8584460">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">SVF::CFLAlias</a>, <a class="el" href="classSVF_1_1CFLVF.html#a52bf916b33278f48d26c3f02947bf720">SVF::CFLVF</a>, and <a class="el" href="classSVF_1_1TypeAnalysis.html#a6073fc43443ceba8d77212ba04e483ef">SVF::TypeAnalysis</a>.</p>
|
|
871
|
+
<p>Implemented in <a class="el" href="classSVF_1_1FlowSensitive.html#a267f7198600dde3054feb40def7a6681">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1ContextDDA.html#ac8fe1cb3af6048a28028f00bb87a5eba">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1FlowDDA.html#aa26f9b5ba2e51f904d8ede1db8584460">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1CFLBase.html#a38812395e7fbba031a47ddc58c985481">SVF::CFLBase</a>, <a class="el" href="classSVF_1_1CFLAlias.html#afc6922e9f1965ed85ef87151e00f5311">SVF::CFLAlias</a>, <a class="el" href="classSVF_1_1CFLVF.html#a52bf916b33278f48d26c3f02947bf720">SVF::CFLVF</a>, and <a class="el" href="classSVF_1_1TypeAnalysis.html#a6073fc43443ceba8d77212ba04e483ef">SVF::TypeAnalysis</a>.</p>
|
|
871
872
|
|
|
872
873
|
</div>
|
|
873
874
|
</div>
|
|
@@ -1339,7 +1340,7 @@ Private Member Functions</h2></td></tr>
|
|
|
1339
1340
|
<p>Print statistics</p>
|
|
1340
1341
|
<p>Dump results </p>
|
|
1341
1342
|
|
|
1342
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1CondPTAImpl.html#a9bdc3a50c695029a28371116ddc3ef8d">SVF::CondPTAImpl< Cond ></a>, <a class="el" href="classSVF_1_1CondPTAImpl.html#a9bdc3a50c695029a28371116ddc3ef8d">SVF::CondPTAImpl< ContextCond ></a>, <a class="el" href="classSVF_1_1Andersen.html#ad90c8cf193bd81870ce8dd88c9580e2c">SVF::Andersen</a>, <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#afed358369102f01f6fe88b1433e704c3">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#a5abae08577ab24684653421dc712431a">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#ae34cd06ee3b7d763c81ec418af76d244">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a8efef079c8b33e2215f92ac3629789e6">SVF::TypeAnalysis</a>,
|
|
1343
|
+
<p>Reimplemented in <a class="el" href="classSVF_1_1CondPTAImpl.html#a9bdc3a50c695029a28371116ddc3ef8d">SVF::CondPTAImpl< Cond ></a>, <a class="el" href="classSVF_1_1CondPTAImpl.html#a9bdc3a50c695029a28371116ddc3ef8d">SVF::CondPTAImpl< ContextCond ></a>, <a class="el" href="classSVF_1_1Andersen.html#ad90c8cf193bd81870ce8dd88c9580e2c">SVF::Andersen</a>, <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#afed358369102f01f6fe88b1433e704c3">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#a5abae08577ab24684653421dc712431a">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#ae34cd06ee3b7d763c81ec418af76d244">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1CFLBase.html#af35c5140a90957a26437abc8a93e7ed7">SVF::CFLBase</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a8efef079c8b33e2215f92ac3629789e6">SVF::TypeAnalysis</a>, <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">SVF::VersionedFlowSensitive</a>, <a class="el" href="classSVF_1_1CFLAlias.html#a1b7e49b3f42d625f1f25258044f8b885">SVF::CFLAlias</a>, and <a class="el" href="classSVF_1_1CFLVF.html#a6047084ea0cfe2827130facdd54e4806">SVF::CFLVF</a>.</p>
|
|
1343
1344
|
|
|
1344
1345
|
<p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00192">192</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
|
|
1345
1346
|
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">dumpStat</a>();</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ace0fa364337374ce75a58a9e2f229e24">Options::PTSPrint</a>)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">dumpTopLevelPtsTo</a>();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="comment">//dumpAllPts();</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="comment">//dumpCPts();</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#affd0cb6e0cb91e096537a3d3198bf4e5">Options::TypePrint</a>)</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a08399de593c073b6dd848a8d849dad27">dumpAllTypes</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a113ee30422ef08b6790eed9a83277b9c">Options::PTSAllPrint</a>)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">dumpAllPts</a>();</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a14ceeb5d7de81a0946389159986e4955">Options::FuncPointerPrint</a>)</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">printIndCSTargets</a>();</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#ac695d78f0a78e2e5f1fb4f93264e52b8">verifyCallGraph</a>();</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a61c9d525088cc044f8937a39bb96aa93">Options::CallGraphDotGraph</a>)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">dump</a>(<span class="stringliteral">"callgraph_final"</span>);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a41423da58a07b344bc7ca8dd96d48f98">isBuiltFromFile</a>() && <a class="code" href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e">alias_validation</a>)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a>();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#afb6fabc25c0d7f9e9d1708ce648797fc">Options::UsePreCompFieldSensitive</a>)</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div><div class="ttc" id="classSVF_1_1Options_html_affd0cb6e0cb91e096537a3d3198bf4e5"><div class="ttname"><a href="classSVF_1_1Options.html#affd0cb6e0cb91e096537a3d3198bf4e5">SVF::Options::TypePrint</a></div><div class="ttdeci">static const llvm::cl::opt< bool > TypePrint</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00127">Options.h:127</a></div></div>
|
|
@@ -2216,7 +2217,7 @@ Private Member Functions</h2></td></tr>
|
|
|
2216
2217
|
<p>Initialization of pointer analysis </p>
|
|
2217
2218
|
<p>initialise pta call graph for every pointer analysis instance </p>
|
|
2218
2219
|
|
|
2219
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a40514a439869d0c025afb4f6b6fb4071">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen</a>, <a class="el" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">SVF::AndersenSFR</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#adb9f21a86daeb2dd79537f3939c393cf">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a34177236a41f7a2b432243062f829985">SVF::TypeAnalysis</a>,
|
|
2220
|
+
<p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a40514a439869d0c025afb4f6b6fb4071">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen</a>, <a class="el" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">SVF::AndersenSFR</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#adb9f21a86daeb2dd79537f3939c393cf">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1CFLBase.html#a639702b6c898c13c3e85c721e3234e50">SVF::CFLBase</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a34177236a41f7a2b432243062f829985">SVF::TypeAnalysis</a>, <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">SVF::VersionedFlowSensitive</a>, <a class="el" href="classSVF_1_1CFLAlias.html#aef129edd61d7f15947c6539f8d0c36a0">SVF::CFLAlias</a>, and <a class="el" href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">SVF::CFLVF</a>.</p>
|
|
2220
2221
|
|
|
2221
2222
|
<p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00111">111</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
|
|
2222
2223
|
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  assert(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a> && <span class="stringliteral">"SVFIR has not been built!"</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a> *chg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1CHGBuilder.html">CHGBuilder</a> builder(chg);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  builder.buildCHG();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a> = chg;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a153d42a480ef1763ad59fd7258ac3ac5">Options::EnableThreadCallGraph</a>)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>* cg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1ThreadCallGraphBuilder.html">ThreadCallGraphBuilder</a> bd(cg, <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>());</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a> = bd.buildThreadCallGraph(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* cg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>();</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1CallGraphBuilder.html">CallGraphBuilder</a> bd(cg,<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>());</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  ptaCallGraph = bd.<a class="code" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc">buildCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">callGraphSCCDetection</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="comment">// dump callgraph</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a61c9d525088cc044f8937a39bb96aa93">Options::CallGraphDotGraph</a>)</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">dump</a>(<span class="stringliteral">"callgraph_initial"</span>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a841be22581a7896d8924564e7199f62b"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">SVF::PTACallGraph::dump</a></div><div class="ttdeci">void dump(const std::string &filename)</div><div class="ttdoc">Dump the graph. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00316">PTACallGraph.cpp:316</a></div></div>
|
|
Binary file
|