svf-tools 1.0.875 → 1.0.877
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/README.md +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp.html +218 -0
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +2124 -0
- package/SVF-doxygen/html/AbstractExecution_8h.html +118 -0
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +512 -0
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +81 -81
- package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +20 -20
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +2 -2
- package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +318 -367
- package/SVF-doxygen/html/ae_8cpp.html +7 -7
- package/SVF-doxygen/html/ae_8cpp_source.html +7 -7
- package/SVF-doxygen/html/annotated.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1AEAPI-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEAPI.html +145 -145
- package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +53 -53
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution-members.html +137 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +2884 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +50 -50
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +117 -117
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI-members.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +92 -92
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +51 -309
- package/SVF-doxygen/html/classSVF_1_1GenericNode.html +8 -8
- package/SVF-doxygen/html/classes.html +16 -16
- package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +1 -1
- package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +1 -1
- package/SVF-doxygen/html/files.html +2 -2
- package/SVF-doxygen/html/functions.html +21 -21
- package/SVF-doxygen/html/functions_a.html +17 -17
- package/SVF-doxygen/html/functions_b.html +1 -1
- package/SVF-doxygen/html/functions_c.html +16 -16
- package/SVF-doxygen/html/functions_d.html +7 -11
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_func.html +13 -13
- package/SVF-doxygen/html/functions_func_c.html +11 -11
- package/SVF-doxygen/html/functions_func_d.html +7 -11
- package/SVF-doxygen/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/functions_func_g.html +1 -1
- package/SVF-doxygen/html/functions_func_h.html +11 -11
- package/SVF-doxygen/html/functions_func_i.html +8 -8
- package/SVF-doxygen/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/functions_func_w.html +1 -1
- package/SVF-doxygen/html/functions_func_~.html +3 -3
- package/SVF-doxygen/html/functions_g.html +1 -1
- package/SVF-doxygen/html/functions_h.html +11 -11
- package/SVF-doxygen/html/functions_i.html +8 -8
- package/SVF-doxygen/html/functions_m.html +1 -1
- package/SVF-doxygen/html/functions_n.html +1 -1
- package/SVF-doxygen/html/functions_p.html +7 -7
- package/SVF-doxygen/html/functions_r.html +6 -8
- package/SVF-doxygen/html/functions_rela.html +2 -2
- package/SVF-doxygen/html/functions_s.html +10 -8
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_type_c.html +1 -1
- package/SVF-doxygen/html/functions_v.html +1 -3
- package/SVF-doxygen/html/functions_vars.html +21 -21
- package/SVF-doxygen/html/functions_w.html +1 -1
- package/SVF-doxygen/html/functions_~.html +3 -3
- package/SVF-doxygen/html/globals.html +2 -2
- package/SVF-doxygen/html/globals_defs.html +1 -1
- package/SVF-doxygen/html/globals_s.html +1 -1
- package/SVF-doxygen/html/globals_vars.html +2 -2
- package/SVF-doxygen/html/hierarchy.html +12 -12
- package/SVF-doxygen/html/namespaceSVF.html +9 -9
- package/SVF-doxygen/html/search/all_0.js +21 -21
- package/SVF-doxygen/html/search/all_1.js +503 -502
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +228 -228
- package/SVF-doxygen/html/search/all_12.js +569 -569
- package/SVF-doxygen/html/search/all_13.js +208 -208
- package/SVF-doxygen/html/search/all_14.js +69 -69
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +78 -78
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +26 -26
- package/SVF-doxygen/html/search/all_1a.js +182 -182
- package/SVF-doxygen/html/search/all_2.js +182 -182
- package/SVF-doxygen/html/search/all_3.js +654 -654
- package/SVF-doxygen/html/search/all_4.js +237 -237
- package/SVF-doxygen/html/search/all_5.js +128 -128
- package/SVF-doxygen/html/search/all_6.js +232 -232
- package/SVF-doxygen/html/search/all_7.js +1060 -1060
- package/SVF-doxygen/html/search/all_8.js +217 -217
- package/SVF-doxygen/html/search/all_9.js +628 -628
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +203 -203
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +121 -121
- package/SVF-doxygen/html/search/classes_0.js +29 -29
- package/SVF-doxygen/html/search/classes_1.js +12 -12
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +20 -20
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +78 -78
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +58 -58
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
- package/SVF-doxygen/html/search/files_0.js +16 -15
- package/SVF-doxygen/html/search/files_1.js +9 -9
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +58 -58
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +10 -10
- package/SVF-doxygen/html/search/files_7.js +15 -15
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +4 -4
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +374 -374
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +142 -142
- package/SVF-doxygen/html/search/functions_12.js +298 -298
- package/SVF-doxygen/html/search/functions_13.js +74 -74
- package/SVF-doxygen/html/search/functions_14.js +40 -40
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +182 -182
- package/SVF-doxygen/html/search/functions_2.js +95 -95
- package/SVF-doxygen/html/search/functions_3.js +266 -266
- package/SVF-doxygen/html/search/functions_4.js +84 -84
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +867 -867
- package/SVF-doxygen/html/search/functions_8.js +164 -164
- package/SVF-doxygen/html/search/functions_9.js +440 -440
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +81 -81
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -3
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +20 -20
- package/SVF-doxygen/html/search/typedefs_1.js +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +63 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +18 -18
- package/SVF-doxygen/html/search/typedefs_5.js +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +57 -57
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +182 -182
- package/SVF-doxygen/html/search/variables_1.js +76 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +41 -41
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +8 -8
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +102 -102
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
- package/build.sh +1 -1
- package/package.json +1 -1
- package/svf/include/AE/Svfexe/{AE.h → AbstractExecution.h} +13 -14
- package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
- package/svf/include/Graphs/CFBasicBlockG.h +0 -43
- package/svf/lib/AE/Svfexe/{AE.cpp → AbstractExecution.cpp} +33 -33
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +2 -2
- package/svf-llvm/tools/AE/ae.cpp +1 -1
package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html
CHANGED
|
@@ -175,7 +175,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
175
175
|
</table>
|
|
176
176
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
177
177
|
<div class="textblock">
|
|
178
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
178
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00466">466</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
179
179
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
180
180
|
<a id="a10af45bcbdbb34263454107c0e5184d4"></a>
|
|
181
181
|
<h2 class="memtitle"><span class="permalink"><a href="#a10af45bcbdbb34263454107c0e5184d4">◆ </a></span>NodeType</h2>
|
|
@@ -189,7 +189,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
189
189
|
</table>
|
|
190
190
|
</div><div class="memdoc">
|
|
191
191
|
|
|
192
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
192
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00469">469</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
193
193
|
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
@@ -218,11 +218,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
218
218
|
</table>
|
|
219
219
|
</div><div class="memdoc">
|
|
220
220
|
|
|
221
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
222
|
-
<div class="fragment"><div class="line"><a name="
|
|
223
|
-
<div class="line"><a name="
|
|
224
|
-
<div class="line"><a name="
|
|
225
|
-
<div class="line"><a name="
|
|
221
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00471">471</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
222
|
+
<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  :</div>
|
|
223
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  DOTGraphTraits<SVF::SVFIR *>(<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a>)</div>
|
|
224
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  {</div>
|
|
225
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  }</div>
|
|
226
226
|
</div><!-- fragment -->
|
|
227
227
|
</div>
|
|
228
228
|
</div>
|
|
@@ -269,26 +269,26 @@ template<class EdgeIter > </div>
|
|
|
269
269
|
</table>
|
|
270
270
|
</div><div class="memdoc">
|
|
271
271
|
|
|
272
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
273
|
-
<div class="fragment"><div class="line"><a name="
|
|
274
|
-
<div class="line"><a name="
|
|
275
|
-
<div class="line"><a name="
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="
|
|
281
|
-
<div class="line"><a name="
|
|
282
|
-
<div class="line"><a name="
|
|
283
|
-
<div class="line"><a name="
|
|
284
|
-
<div class="line"><a name="
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="
|
|
287
|
-
<div class="line"><a name="
|
|
288
|
-
<div class="line"><a name="
|
|
289
|
-
<div class="line"><a name="
|
|
290
|
-
<div class="line"><a name="
|
|
291
|
-
<div class="line"><a name="
|
|
272
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00541">541</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
273
|
+
<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  {</div>
|
|
274
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
|
|
275
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
276
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">if</span> (edge->getICFGEdge())</div>
|
|
277
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  {</div>
|
|
278
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge->getICFGEdge()))</div>
|
|
279
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div>
|
|
280
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=red"</span>;</div>
|
|
281
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div>
|
|
282
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge->getICFGEdge()))</div>
|
|
283
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=blue"</span>;</div>
|
|
284
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">else</span></div>
|
|
285
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
286
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  }</div>
|
|
287
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">else</span></div>
|
|
288
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  {</div>
|
|
289
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
290
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  }</div>
|
|
291
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div>
|
|
292
292
|
</div><!-- fragment -->
|
|
293
293
|
</div>
|
|
294
294
|
</div>
|
|
@@ -328,22 +328,22 @@ template<class EdgeIter > </div>
|
|
|
328
328
|
</table>
|
|
329
329
|
</div><div class="memdoc">
|
|
330
330
|
|
|
331
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
332
|
-
<div class="fragment"><div class="line"><a name="
|
|
333
|
-
<div class="line"><a name="
|
|
334
|
-
<div class="line"><a name="
|
|
335
|
-
<div class="line"><a name="
|
|
336
|
-
<div class="line"><a name="
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="
|
|
339
|
-
<div class="line"><a name="
|
|
340
|
-
<div class="line"><a name="
|
|
341
|
-
<div class="line"><a name="
|
|
342
|
-
<div class="line"><a name="
|
|
343
|
-
<div class="line"><a name="
|
|
344
|
-
<div class="line"><a name="
|
|
345
|
-
<div class="line"><a name="
|
|
346
|
-
<div class="line"><a name="
|
|
331
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00563">563</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
332
|
+
<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  {</div>
|
|
333
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  CFBasicBlockEdge* edge = *(EI.getCurrent());</div>
|
|
334
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
335
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  </div>
|
|
336
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
337
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  std::stringstream rawstr(str);</div>
|
|
338
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (edge->getICFGEdge())</div>
|
|
339
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  {</div>
|
|
340
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> CallCFGEdge* dirCall = SVFUtil::dyn_cast<CallCFGEdge>(edge->getICFGEdge()))</div>
|
|
341
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  rawstr << dirCall->getCallSite();</div>
|
|
342
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> RetCFGEdge* dirRet = SVFUtil::dyn_cast<RetCFGEdge>(edge->getICFGEdge()))</div>
|
|
343
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  rawstr << dirRet->getCallSite();</div>
|
|
344
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  }</div>
|
|
345
|
+
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
346
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  }</div>
|
|
347
347
|
</div><!-- fragment -->
|
|
348
348
|
</div>
|
|
349
349
|
</div>
|
|
@@ -373,10 +373,10 @@ template<class EdgeIter > </div>
|
|
|
373
373
|
|
|
374
374
|
<p>Return name of the graph. </p>
|
|
375
375
|
|
|
376
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
377
|
-
<div class="fragment"><div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="
|
|
379
|
-
<div class="line"><a name="
|
|
376
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00477">477</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
377
|
+
<div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  {</div>
|
|
378
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CFBasicBlockGraph"</span>;</div>
|
|
379
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  }</div>
|
|
380
380
|
</div><!-- fragment -->
|
|
381
381
|
</div>
|
|
382
382
|
</div>
|
|
@@ -414,47 +414,47 @@ template<class EdgeIter > </div>
|
|
|
414
414
|
</table>
|
|
415
415
|
</div><div class="memdoc">
|
|
416
416
|
|
|
417
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
418
|
-
<div class="fragment"><div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="
|
|
446
|
-
<div class="line"><a name="
|
|
447
|
-
<div class="line"><a name="
|
|
448
|
-
<div class="line"><a name="
|
|
449
|
-
<div class="line"><a name="
|
|
450
|
-
<div class="line"><a name="
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="
|
|
453
|
-
<div class="line"><a name="
|
|
454
|
-
<div class="line"><a name="
|
|
455
|
-
<div class="line"><a name="
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="
|
|
417
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00498">498</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
418
|
+
<div class="fragment"><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div>
|
|
419
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
420
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  std::stringstream rawstr(str);</div>
|
|
421
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span>(node->getICFGNodes().size() == 1)</div>
|
|
422
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div>
|
|
423
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keyword">const</span> ICFGNode* <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> = node->getICFGNodes()[0];</div>
|
|
424
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">if</span>(SVFUtil::isa<IntraICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
425
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  {</div>
|
|
426
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  rawstr << <span class="stringliteral">"color=black"</span>;</div>
|
|
427
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  }</div>
|
|
428
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FunEntryICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
429
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  {</div>
|
|
430
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  rawstr << <span class="stringliteral">"color=yellow"</span>;</div>
|
|
431
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div>
|
|
432
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FunExitICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
433
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div>
|
|
434
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  rawstr << <span class="stringliteral">"color=green"</span>;</div>
|
|
435
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<CallICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
437
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div>
|
|
438
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  rawstr << <span class="stringliteral">"color=red"</span>;</div>
|
|
439
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div>
|
|
440
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<RetICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
441
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  {</div>
|
|
442
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  rawstr << <span class="stringliteral">"color=blue"</span>;</div>
|
|
443
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  }</div>
|
|
444
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<GlobalICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
445
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  {</div>
|
|
446
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  rawstr << <span class="stringliteral">"color=purple"</span>;</div>
|
|
447
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  }</div>
|
|
448
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">else</span></div>
|
|
449
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such kind of node!!"</span>);</div>
|
|
450
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  }</div>
|
|
451
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">else</span></div>
|
|
452
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div>
|
|
453
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  rawstr << <span class="stringliteral">"color=black"</span>;</div>
|
|
454
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div>
|
|
455
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  rawstr << <span class="stringliteral">""</span>;</div>
|
|
456
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
457
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  }</div>
|
|
458
458
|
</div><!-- fragment -->
|
|
459
459
|
</div>
|
|
460
460
|
</div>
|
|
@@ -492,10 +492,10 @@ template<class EdgeIter > </div>
|
|
|
492
492
|
</table>
|
|
493
493
|
</div><div class="memdoc">
|
|
494
494
|
|
|
495
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
496
|
-
<div class="fragment"><div class="line"><a name="
|
|
497
|
-
<div class="line"><a name="
|
|
498
|
-
<div class="line"><a name="
|
|
495
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00482">482</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
496
|
+
<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  {</div>
|
|
497
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">return</span> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">getSimpleNodeLabel</a>(node, graph);</div>
|
|
498
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  }</div>
|
|
499
499
|
</div><!-- fragment -->
|
|
500
500
|
</div>
|
|
501
501
|
</div>
|
|
@@ -535,15 +535,15 @@ template<class EdgeIter > </div>
|
|
|
535
535
|
|
|
536
536
|
<p>Return the label of an <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> node. </p>
|
|
537
537
|
|
|
538
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
539
|
-
<div class="fragment"><div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="
|
|
542
|
-
<div class="line"><a name="
|
|
543
|
-
<div class="line"><a name="
|
|
544
|
-
<div class="line"><a name="
|
|
545
|
-
<div class="line"><a name="
|
|
546
|
-
<div class="line"><a name="
|
|
538
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00488">488</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
539
|
+
<div class="fragment"><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div>
|
|
540
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
541
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  std::stringstream rawstr(str);</div>
|
|
542
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  rawstr << <span class="stringliteral">"NodeID: "</span> << node->getId() << <span class="stringliteral">"\n"</span>;</div>
|
|
543
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  rawstr << node->toString();</div>
|
|
544
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  </div>
|
|
545
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
546
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  }</div>
|
|
547
547
|
</div><!-- fragment -->
|
|
548
548
|
</div>
|
|
549
549
|
</div>
|
|
@@ -553,7 +553,7 @@ template<class EdgeIter > </div>
|
|
|
553
553
|
</div><!-- contents -->
|
|
554
554
|
<div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
|
|
555
555
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
556
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
556
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00488">CFBasicBlockG.h:488</a></div></div>
|
|
557
557
|
<div class="ttc" id="astructSVF_1_1DefaultDOTGraphTraits_html_acc82bc6228128e5bb98a6b00d6dc5f77"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">SVF::DefaultDOTGraphTraits::isSimple</a></div><div class="ttdeci">bool isSimple()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00035">DOTGraphTraits.h:35</a></div></div>
|
|
558
558
|
<!-- start footer part -->
|
|
559
559
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -95,7 +95,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
95
95
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
96
96
|
<div class="textblock"><p><a class="el" href="structSVF_1_1Inverse.html">Inverse</a> <a class="el" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a> specializations for call graph node, it is used for inverse ICFGTraversal. </p>
|
|
97
97
|
|
|
98
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
98
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00449">449</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
99
99
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
100
100
|
<li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a></li>
|
|
101
101
|
</ul>
|
package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html
CHANGED
|
@@ -94,7 +94,7 @@ Public Types</h2></td></tr>
|
|
|
94
94
|
</table>
|
|
95
95
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
96
96
|
<div class="textblock">
|
|
97
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
97
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00455">455</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
98
98
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
99
99
|
<a id="a0d7eb2f1c00f0499d99f5508ce5055f5"></a>
|
|
100
100
|
<h2 class="memtitle"><span class="permalink"><a href="#a0d7eb2f1c00f0499d99f5508ce5055f5">◆ </a></span>NodeRef</h2>
|
|
@@ -108,7 +108,7 @@ Public Types</h2></td></tr>
|
|
|
108
108
|
</table>
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
111
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00458">458</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
112
112
|
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html
CHANGED
|
@@ -91,7 +91,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
91
91
|
</table>
|
|
92
92
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
93
93
|
<div class="textblock">
|
|
94
|
-
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#
|
|
94
|
+
<p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00442">442</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
|
|
95
95
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
96
96
|
<li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a></li>
|
|
97
97
|
</ul>
|
package/build.sh
CHANGED
|
@@ -196,8 +196,8 @@ if [[ ! -d "$LLVM_DIR" ]]; then
|
|
|
196
196
|
mkdir -p "./$LLVMHome" && tar -xf llvm.tar.xz -C "./$LLVMHome" --strip-components 1
|
|
197
197
|
rm llvm.tar.xz
|
|
198
198
|
fi
|
|
199
|
-
export LLVM_DIR="$SVFHOME/$LLVMHome"
|
|
200
199
|
fi
|
|
200
|
+
export LLVM_DIR="$SVFHOME/$LLVMHome"
|
|
201
201
|
fi
|
|
202
202
|
|
|
203
203
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.877",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
|
|
36
36
|
namespace SVF
|
|
37
37
|
{
|
|
38
|
-
class
|
|
38
|
+
class AbstractExecution;
|
|
39
39
|
class AEStat;
|
|
40
40
|
class AEAPI;
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
enum class AEKind
|
|
44
44
|
{
|
|
45
|
-
|
|
45
|
+
AbstractExecution,
|
|
46
46
|
BufOverflowChecker
|
|
47
47
|
};
|
|
48
48
|
|
|
@@ -51,7 +51,7 @@ class AEStat : public SVFStat
|
|
|
51
51
|
{
|
|
52
52
|
public:
|
|
53
53
|
void countStateSize();
|
|
54
|
-
AEStat(
|
|
54
|
+
AEStat(AbstractExecution *ae): _ae(ae)
|
|
55
55
|
{
|
|
56
56
|
startTime = getClk(true);
|
|
57
57
|
}
|
|
@@ -69,7 +69,7 @@ public:
|
|
|
69
69
|
void reportBug();
|
|
70
70
|
|
|
71
71
|
public:
|
|
72
|
-
|
|
72
|
+
AbstractExecution *_ae;
|
|
73
73
|
s32_t count{0};
|
|
74
74
|
std::string memory_usage;
|
|
75
75
|
std::string memUsage;
|
|
@@ -103,8 +103,7 @@ public:
|
|
|
103
103
|
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
class AE
|
|
106
|
+
class AbstractExecution
|
|
108
107
|
{
|
|
109
108
|
friend class AEStat;
|
|
110
109
|
friend class AEAPI;
|
|
@@ -112,7 +111,7 @@ class AE
|
|
|
112
111
|
public:
|
|
113
112
|
typedef SCCDetection<PTACallGraph *> CallGraphSCC;
|
|
114
113
|
/// Constructor
|
|
115
|
-
|
|
114
|
+
AbstractExecution();
|
|
116
115
|
|
|
117
116
|
virtual void initExtAPI();
|
|
118
117
|
|
|
@@ -120,14 +119,14 @@ public:
|
|
|
120
119
|
|
|
121
120
|
|
|
122
121
|
/// Destructor
|
|
123
|
-
virtual ~
|
|
122
|
+
virtual ~AbstractExecution();
|
|
124
123
|
|
|
125
124
|
/// Program entry
|
|
126
125
|
void analyse();
|
|
127
126
|
|
|
128
|
-
static bool classof(const
|
|
127
|
+
static bool classof(const AbstractExecution* ae)
|
|
129
128
|
{
|
|
130
|
-
return ae->getKind() == AEKind::
|
|
129
|
+
return ae->getKind() == AEKind::AbstractExecution;
|
|
131
130
|
}
|
|
132
131
|
|
|
133
132
|
AEKind getKind() const
|
|
@@ -286,7 +285,7 @@ public:
|
|
|
286
285
|
enum ExtAPIType { UNCLASSIFIED, MEMCPY, MEMSET, STRCPY, STRCAT };
|
|
287
286
|
static bool classof(const AEAPI* api)
|
|
288
287
|
{
|
|
289
|
-
return api->getKind() == AEKind::
|
|
288
|
+
return api->getKind() == AEKind::AbstractExecution;
|
|
290
289
|
}
|
|
291
290
|
|
|
292
291
|
/**
|
|
@@ -295,10 +294,10 @@ public:
|
|
|
295
294
|
* @param ae Abstract Execution or its subclass
|
|
296
295
|
* @param stat AEStat
|
|
297
296
|
*/
|
|
298
|
-
AEAPI(
|
|
297
|
+
AEAPI(AbstractExecution* ae, AEStat* stat): _ae(ae), _stat(stat)
|
|
299
298
|
{
|
|
300
299
|
initExtFunMap();
|
|
301
|
-
_kind = AEKind::
|
|
300
|
+
_kind = AEKind::AbstractExecution;
|
|
302
301
|
}
|
|
303
302
|
|
|
304
303
|
virtual ~AEAPI() {}
|
|
@@ -421,7 +420,7 @@ protected:
|
|
|
421
420
|
|
|
422
421
|
|
|
423
422
|
protected:
|
|
424
|
-
|
|
423
|
+
AbstractExecution* _ae;
|
|
425
424
|
AEStat* _stat;
|
|
426
425
|
SVFIR* _svfir;
|
|
427
426
|
AEKind _kind;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
// Created by Jiawei Wang on 2024/1/12.
|
|
26
26
|
//
|
|
27
27
|
|
|
28
|
-
#include "AE.h"
|
|
28
|
+
#include "AE/Svfexe/AbstractExecution.h"
|
|
29
29
|
|
|
30
30
|
namespace SVF
|
|
31
31
|
{
|
|
@@ -101,7 +101,7 @@ class BufOverflowCheckerAPI: public AEAPI
|
|
|
101
101
|
{
|
|
102
102
|
public:
|
|
103
103
|
BufOverflowCheckerAPI() = delete;
|
|
104
|
-
BufOverflowCheckerAPI(
|
|
104
|
+
BufOverflowCheckerAPI(AbstractExecution * ae, AEStat * stat): AEAPI(ae, stat)
|
|
105
105
|
{
|
|
106
106
|
initExtFunMap();
|
|
107
107
|
initExtAPIBufOverflowCheckRules();
|
|
@@ -167,17 +167,17 @@ public:
|
|
|
167
167
|
Map<std::string, std::vector<std::pair<u32_t, u32_t>>> _extAPIBufOverflowCheckRules;
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
-
class BufOverflowChecker: public
|
|
170
|
+
class BufOverflowChecker: public AbstractExecution
|
|
171
171
|
{
|
|
172
172
|
friend BufOverflowCheckerAPI;
|
|
173
173
|
|
|
174
174
|
public:
|
|
175
|
-
BufOverflowChecker() :
|
|
175
|
+
BufOverflowChecker() : AbstractExecution()
|
|
176
176
|
{
|
|
177
177
|
_kind = AEKind::BufOverflowChecker;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
static bool classof(const
|
|
180
|
+
static bool classof(const AbstractExecution* ae)
|
|
181
181
|
{
|
|
182
182
|
return ae->getKind() == AEKind::BufOverflowChecker;
|
|
183
183
|
}
|
|
@@ -258,49 +258,6 @@ public:
|
|
|
258
258
|
}
|
|
259
259
|
//@}
|
|
260
260
|
|
|
261
|
-
/// Iterators used for SCC detection, overwrite it in child class if necessory
|
|
262
|
-
//@{
|
|
263
|
-
virtual inline iterator directOutEdgeBegin()
|
|
264
|
-
{
|
|
265
|
-
return OutEdges.begin();
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
virtual inline iterator directOutEdgeEnd()
|
|
269
|
-
{
|
|
270
|
-
return OutEdges.end();
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
virtual inline iterator directInEdgeBegin()
|
|
274
|
-
{
|
|
275
|
-
return InEdges.begin();
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
virtual inline iterator directInEdgeEnd()
|
|
279
|
-
{
|
|
280
|
-
return InEdges.end();
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
virtual inline const_iterator directOutEdgeBegin() const
|
|
284
|
-
{
|
|
285
|
-
return OutEdges.begin();
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
virtual inline const_iterator directOutEdgeEnd() const
|
|
289
|
-
{
|
|
290
|
-
return OutEdges.end();
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
virtual inline const_iterator directInEdgeBegin() const
|
|
294
|
-
{
|
|
295
|
-
return InEdges.begin();
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
virtual inline const_iterator directInEdgeEnd() const
|
|
299
|
-
{
|
|
300
|
-
return InEdges.end();
|
|
301
|
-
}
|
|
302
|
-
//@}
|
|
303
|
-
|
|
304
261
|
/// Add incoming and outgoing edges
|
|
305
262
|
//@{
|
|
306
263
|
inline bool addIncomingEdge(CFBasicBlockEdge *inEdge)
|