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
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
6
|
+
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
8
|
+
<title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/include/AE/Svfexe/AbstractExecution.h Source File</title>
|
|
9
|
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
10
|
+
<script type="text/javascript" src="jquery.js"></script>
|
|
11
|
+
<script type="text/javascript" src="dynsections.js"></script>
|
|
12
|
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
13
|
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
14
|
+
<script type="text/javascript" src="search/search.js"></script>
|
|
15
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
19
|
+
<div id="titlearea">
|
|
20
|
+
<table cellspacing="0" cellpadding="0">
|
|
21
|
+
<tbody>
|
|
22
|
+
<tr style="height: 56px;">
|
|
23
|
+
<td id="projectalign" style="padding-left: 0.5em;">
|
|
24
|
+
<div id="projectname">Static Value-Flow Analysis
|
|
25
|
+
</div>
|
|
26
|
+
</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- end header part -->
|
|
32
|
+
<!-- Generated by Doxygen 1.8.17 -->
|
|
33
|
+
<script type="text/javascript">
|
|
34
|
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
35
|
+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
36
|
+
/* @license-end */
|
|
37
|
+
</script>
|
|
38
|
+
<script type="text/javascript" src="menudata.js"></script>
|
|
39
|
+
<script type="text/javascript" src="menu.js"></script>
|
|
40
|
+
<script type="text/javascript">
|
|
41
|
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
42
|
+
$(function() {
|
|
43
|
+
initMenu('',true,false,'search.php','Search');
|
|
44
|
+
$(document).ready(function() { init_search(); });
|
|
45
|
+
});
|
|
46
|
+
/* @license-end */</script>
|
|
47
|
+
<div id="main-nav"></div>
|
|
48
|
+
<!-- window showing the filter options -->
|
|
49
|
+
<div id="MSearchSelectWindow"
|
|
50
|
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
51
|
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
52
|
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<!-- iframe showing the search results (closed by default) -->
|
|
56
|
+
<div id="MSearchResultsWindow">
|
|
57
|
+
<iframe src="javascript:void(0)" frameborder="0"
|
|
58
|
+
name="MSearchResults" id="MSearchResults">
|
|
59
|
+
</iframe>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div id="nav-path" class="navpath">
|
|
63
|
+
<ul>
|
|
64
|
+
<li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_390f2a6be5eff59a6919ecbd9cc9f31d.html">include</a></li><li class="navelem"><a class="el" href="dir_53d761ae38d6f143a0d195c719804439.html">AE</a></li><li class="navelem"><a class="el" href="dir_fbec400583b4bd6c5f2e89c86c5943a6.html">Svfexe</a></li> </ul>
|
|
65
|
+
</div>
|
|
66
|
+
</div><!-- top -->
|
|
67
|
+
<div class="header">
|
|
68
|
+
<div class="headertitle">
|
|
69
|
+
<div class="title">AbstractExecution.h</div> </div>
|
|
70
|
+
</div><!--header-->
|
|
71
|
+
<div class="contents">
|
|
72
|
+
<a href="AbstractExecution_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- AE.cpp -- Abstract Execution---------------------------------//</span></div>
|
|
73
|
+
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div>
|
|
74
|
+
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div>
|
|
75
|
+
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div>
|
|
76
|
+
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div>
|
|
77
|
+
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div>
|
|
78
|
+
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div>
|
|
79
|
+
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div>
|
|
80
|
+
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU Affero General Public License as published by</span></div>
|
|
81
|
+
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div>
|
|
82
|
+
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div>
|
|
83
|
+
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div>
|
|
84
|
+
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div>
|
|
85
|
+
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
|
|
86
|
+
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
|
|
87
|
+
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU Affero General Public License for more details.</span></div>
|
|
88
|
+
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  </div>
|
|
89
|
+
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU Affero General Public License</span></div>
|
|
90
|
+
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div>
|
|
91
|
+
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div>
|
|
92
|
+
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
|
|
93
|
+
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
|
94
|
+
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div>
|
|
95
|
+
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//</span></div>
|
|
96
|
+
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Created by Jiawei Wang on 2024/1/10.</span></div>
|
|
97
|
+
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//</span></div>
|
|
98
|
+
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <exception></span></div>
|
|
99
|
+
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <string></span></div>
|
|
100
|
+
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="SVFIR2ItvExeState_8h.html">AE/Svfexe/SVFIR2ItvExeState.h</a>"</span></div>
|
|
101
|
+
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>"</span></div>
|
|
102
|
+
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="SVFGBuilder_8h.html">MSSA/SVFGBuilder.h</a>"</span></div>
|
|
103
|
+
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="CFBasicBlockGWTO_8h.html">AE/Core/CFBasicBlockGWTO.h</a>"</span></div>
|
|
104
|
+
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="Andersen_8h.html">WPA/Andersen.h</a>"</span></div>
|
|
105
|
+
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="SVFBugReport_8h.html">Util/SVFBugReport.h</a>"</span></div>
|
|
106
|
+
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div>
|
|
107
|
+
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
|
|
108
|
+
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div>
|
|
109
|
+
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">class </span><a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AbstractExecution</a>;</div>
|
|
110
|
+
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">class </span>AEStat;</div>
|
|
111
|
+
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>AEAPI;</div>
|
|
112
|
+
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div>
|
|
113
|
+
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
|
|
114
|
+
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88"> 43</a></span> <span class="keyword">enum class</span> <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a></div>
|
|
115
|
+
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div>
|
|
116
|
+
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AbstractExecution</a>,</div>
|
|
117
|
+
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a></div>
|
|
118
|
+
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> };</div>
|
|
119
|
+
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div>
|
|
120
|
+
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html"> 50</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AEStat.html">AEStat</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFStat.html">SVFStat</a></div>
|
|
121
|
+
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
|
|
122
|
+
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div>
|
|
123
|
+
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#ae2cfe939670689a4ec5030c096a5f546">countStateSize</a>();</div>
|
|
124
|
+
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a1e297f15d582d8c94c128a146ec92e1d"> 54</a></span>  <a class="code" href="classSVF_1_1AEStat.html#a1e297f15d582d8c94c128a146ec92e1d">AEStat</a>(<a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a> *ae): <a class="code" href="classSVF_1_1AEStat.html#adbce526127c9cc83d642cde2a1e77ff7">_ae</a>(ae)</div>
|
|
125
|
+
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
|
126
|
+
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a> = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>(<span class="keyword">true</span>);</div>
|
|
127
|
+
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div>
|
|
128
|
+
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91"> 58</a></span>  <a class="code" href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91">~AEStat</a>()</div>
|
|
129
|
+
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
|
|
130
|
+
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div>
|
|
131
|
+
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e"> 61</a></span>  <span class="keyword">inline</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">getMemUsage</a>()</div>
|
|
132
|
+
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div>
|
|
133
|
+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> vmrss, vmsize;</div>
|
|
134
|
+
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVFUtil::getMemoryUsageKB</a>(&vmrss, &vmsize) ? std::to_string(vmsize) + <span class="stringliteral">"KB"</span> : <span class="stringliteral">"cannot read memory usage"</span>;</div>
|
|
135
|
+
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
|
136
|
+
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
|
|
137
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#a5b246c2175c44454236242dcf426f21f">finializeStat</a>();</div>
|
|
138
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#a798d07cc0a36ce0d9010ab86d1ec216f">performStat</a>() <span class="keyword">override</span>;</div>
|
|
139
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEStat.html#ae24590233a864e18a6b0948bef89201a">reportBug</a>();</div>
|
|
140
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div>
|
|
141
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">public</span>:</div>
|
|
142
|
+
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#adbce526127c9cc83d642cde2a1e77ff7"> 72</a></span>  <a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a> *<a class="code" href="classSVF_1_1AEStat.html#adbce526127c9cc83d642cde2a1e77ff7">_ae</a>;</div>
|
|
143
|
+
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f"> 73</a></span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>{0};</div>
|
|
144
|
+
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af"> 74</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af">memory_usage</a>;</div>
|
|
145
|
+
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19"> 75</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a>;</div>
|
|
146
|
+
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8"> 76</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8">bugStr</a>;</div>
|
|
147
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div>
|
|
148
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
|
|
149
|
+
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0"> 79</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>& <a class="code" href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0">getFunctionTrace</a>()</div>
|
|
150
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div>
|
|
151
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">"Function_Trace"</span>) == 0)</div>
|
|
152
|
+
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div>
|
|
153
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"Function_Trace"</span>] = 0;</div>
|
|
154
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
|
155
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"Function_Trace"</span>];</div>
|
|
156
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div>
|
|
157
|
+
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349"> 87</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>& <a class="code" href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349">getBlockTrace</a>()</div>
|
|
158
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  {</div>
|
|
159
|
+
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">"Block_Trace"</span>) == 0)</div>
|
|
160
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div>
|
|
161
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"Block_Trace"</span>] = 0;</div>
|
|
162
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div>
|
|
163
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"Block_Trace"</span>];</div>
|
|
164
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div>
|
|
165
|
+
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c"> 95</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>& <a class="code" href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c">getICFGNodeTrace</a>()</div>
|
|
166
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  {</div>
|
|
167
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.count(<span class="stringliteral">"ICFG_Node_Trace"</span>) == 0)</div>
|
|
168
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div>
|
|
169
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"ICFG_Node_Trace"</span>] = 0;</div>
|
|
170
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div>
|
|
171
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">"ICFG_Node_Trace"</span>];</div>
|
|
172
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
|
173
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div>
|
|
174
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> };</div>
|
|
175
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  </div>
|
|
176
|
+
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html"> 106</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a></div>
|
|
177
|
+
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div>
|
|
178
|
+
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#adc6fd1004f4277cb4d6c8bb0dacf3208"> 108</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AEStat.html">AEStat</a>;</div>
|
|
179
|
+
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#ac0bcb586dffbfadeb33f501cafbaa1c9"> 109</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AEAPI.html">AEAPI</a>;</div>
|
|
180
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div>
|
|
181
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">public</span>:</div>
|
|
182
|
+
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a8ad0f3d5a0c9de60eff91fcc0dd44aae"> 112</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SCCDetection.html">SCCDetection<PTACallGraph *></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a8ad0f3d5a0c9de60eff91fcc0dd44aae">CallGraphSCC</a>;</div>
|
|
183
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a84d8fedb7e9d23e92ffcb74b4cfbf78c">AbstractExecution</a>();</div>
|
|
184
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
|
|
185
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a4bf7be47ddc0ba53ec4a5e87f300763f">initExtAPI</a>();</div>
|
|
186
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div>
|
|
187
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a7a9a6b46b24d044316f609f71344e2bb">runOnModule</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfModule);</div>
|
|
188
|
+
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div>
|
|
189
|
+
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  </div>
|
|
190
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a6771ac262e5fdbac0006b293cde47398">~AbstractExecution</a>();</div>
|
|
191
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  </div>
|
|
192
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a46364bb8814f7bf6ddd492aa7dc58ffb">analyse</a>();</div>
|
|
193
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
|
|
194
|
+
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a9c23029833558b082c613fa5e0f14c0d"> 127</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a9c23029833558b082c613fa5e0f14c0d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a>* ae)</div>
|
|
195
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div>
|
|
196
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a6c381287424a3623cfdae5a75d2a9c9b">getKind</a>() == <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AEKind::AbstractExecution</a>;</div>
|
|
197
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div>
|
|
198
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  </div>
|
|
199
|
+
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a6c381287424a3623cfdae5a75d2a9c9b"> 132</a></span>  <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AbstractExecution.html#a6c381287424a3623cfdae5a75d2a9c9b">getKind</a>()<span class="keyword"> const</span></div>
|
|
200
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword"> </span>{</div>
|
|
201
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ad36d48c0ef82de915d9339c4f47cbd70">_kind</a>;</div>
|
|
202
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
|
203
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
|
204
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">protected</span>:</div>
|
|
205
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a7efff2047b2b6017fdd210a8679817cd">handleGlobalNode</a>();</div>
|
|
206
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
|
|
207
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ae641b5687513661a2542e8318430d760">markRecursiveFuns</a>();</div>
|
|
208
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
|
209
|
+
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ac73335ecb1efc6c50775a205c618201f">hasInEdgesES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *block);</div>
|
|
210
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div>
|
|
211
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a28df4f2bd5b337468f254cd609adb25f">hasBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge, <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>& es);</div>
|
|
212
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  </div>
|
|
213
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a4715ec6b1aefdfd600fda8324cde2a66">handleBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *block);</div>
|
|
214
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div>
|
|
215
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a714fa1f4794008f630de415414cf8bfd">handleICFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node);</div>
|
|
216
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  </div>
|
|
217
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a6cbc336372afb947c783fb14c45426df">handleCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node);</div>
|
|
218
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
|
|
219
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#af4579490ced0a02537850d62891cf5bc">handleCycle</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycle.html">CFBasicBlockGWTOCycle</a> *cycle);</div>
|
|
220
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  </div>
|
|
221
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#adb88a8be0bc1c1ac2d1546e9191c6f93">handleFunc</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func);</div>
|
|
222
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  </div>
|
|
223
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a1d725fe50a7084bfa18bd47b941af885">handleSVFStatement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt);</div>
|
|
224
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div>
|
|
225
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a97c5745ddcd0ce72e65dee09ff7afb42">SkipRecursiveCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *callnode);</div>
|
|
226
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  </div>
|
|
227
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a7e1c3edfa546182ad394116b37b834f9">SkipRecursiveFunc</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func);</div>
|
|
228
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  </div>
|
|
229
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ac7a25ad5cbc1a6132869ae54b805f73a">hasCmpBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CmpStmt.html">CmpStmt</a>* cmpStmt, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> succ, <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>& es);</div>
|
|
230
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  </div>
|
|
231
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#adc740771e712644d08f95fc6c488c1af">hasSwitchBranchES</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* var, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> succ, <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>& es);</div>
|
|
232
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  </div>
|
|
233
|
+
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a49742e8c3a8fe598a0945a8d8ff394d0"> 235</a></span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a49742e8c3a8fe598a0945a8d8ff394d0">_svfir</a>;</div>
|
|
234
|
+
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a39439604f7d397f620a7639884ea5b50"> 236</a></span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a39439604f7d397f620a7639884ea5b50">_callgraph</a>;</div>
|
|
235
|
+
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a"> 238</a></span>  <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>;</div>
|
|
236
|
+
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c"> 239</a></span>  <a class="code" href="classSVF_1_1AEAPI.html">AEAPI</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c">_api</a>{<span class="keyword">nullptr</span>};</div>
|
|
237
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  </div>
|
|
238
|
+
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#ab5021d59a929f4eaf5e59d911036d201"> 241</a></span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#ab5021d59a929f4eaf5e59d911036d201">_icfg</a>;</div>
|
|
239
|
+
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a74a55a4d4941c85bdfed81f060049bf0"> 242</a></span>  <a class="code" href="classSVF_1_1AEStat.html">AEStat</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a74a55a4d4941c85bdfed81f060049bf0">_stat</a>;</div>
|
|
240
|
+
<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#ad36d48c0ef82de915d9339c4f47cbd70"> 243</a></span>  <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AbstractExecution.html#ad36d48c0ef82de915d9339c4f47cbd70">_kind</a>;</div>
|
|
241
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div>
|
|
242
|
+
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637"> 245</a></span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<std::string></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">_bugLoc</a>;</div>
|
|
243
|
+
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a5ed683d635bd05f0bee10436d20deb31"> 246</a></span>  <a class="code" href="classSVF_1_1SVFBugReport.html">SVFBugReport</a> <a class="code" href="classSVF_1_1AbstractExecution.html#a5ed683d635bd05f0bee10436d20deb31">_recoder</a>;</div>
|
|
244
|
+
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1"> 247</a></span>  std::vector<const CallICFGNode*> <a class="code" href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1">_callSiteStack</a>;</div>
|
|
245
|
+
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a55737f5c82afce29a816eb21070a2bc1"> 248</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const ICFGNode *, std::string></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a55737f5c82afce29a816eb21070a2bc1">_nodeToBugInfo</a>;</div>
|
|
246
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  </div>
|
|
247
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">private</span>:</div>
|
|
248
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="comment">// helper functions in handleCallSite</span></div>
|
|
249
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a319fe24ebb925f70fde574d5b17c3b98">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
250
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#acf4a6c3fe5a2239512acb791b9aba854">extCallPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
251
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a6b92cdb6c5d3ae425955864536f2cba7">isRecursiveCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
252
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#aa220cdcd1653998d684ec14fe729932d">recursiveCallPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
253
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#aec702d92bbba9e847a9b3eada060a2c5">isDirectCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
254
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#aff1c9582db75361b68aaaf0c4b8b6f0d">directCallFunPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
255
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ad1baaa8eaad68b215f63941776e79ccf">isIndirectCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
256
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractExecution.html#accf5896d39647e41e1408fa90935b650">indirectCallFunPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode);</div>
|
|
257
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  </div>
|
|
258
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="comment">// helper functions in hasInEdgesES</span></div>
|
|
259
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ab807fd4f914cd35a07fe19bb0d7f9860">isFunEntry</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* block);</div>
|
|
260
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#ac8af7bb8a5442ffd885249cecc5c0f02">isGlobalEntry</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* block);</div>
|
|
261
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  </div>
|
|
262
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="comment">// helper functions in handleCycle</span></div>
|
|
263
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#aa964763a5e9e99276707bd6678d1f37f">widenFixpointPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* cycle_head, <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>& pre_es);</div>
|
|
264
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractExecution.html#a331ce1725ac1441f5624a2211021f967">narrowFixpointPass</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* cycle_head, <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a>& pre_es);</div>
|
|
265
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  </div>
|
|
266
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="comment">// private data</span></div>
|
|
267
|
+
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a640e6714576772f9f1bac826ba93707d"> 270</a></span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>* <a class="code" href="classSVF_1_1AbstractExecution.html#a640e6714576772f9f1bac826ba93707d">_CFBlockG</a>;</div>
|
|
268
|
+
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a53f3b9c51ed8648f14ecb703e9fe67ae"> 271</a></span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a> *<a class="code" href="classSVF_1_1AbstractExecution.html#a53f3b9c51ed8648f14ecb703e9fe67ae">_ander</a>;</div>
|
|
269
|
+
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a209315b8ebebe7fae08ad978bc82f228"> 272</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CFBasicBlockNode*, IntervalExeState></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a209315b8ebebe7fae08ad978bc82f228">_preES</a>;</div>
|
|
270
|
+
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a740648f04067e6587eab8f328d57ce2c"> 273</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CFBasicBlockNode*, IntervalExeState></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a740648f04067e6587eab8f328d57ce2c">_postES</a>;</div>
|
|
271
|
+
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a91a2739c4fec2cc29c560bcf8e5e420e"> 274</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, CFBasicBlockGWTO *></a> <a class="code" href="classSVF_1_1AbstractExecution.html#a91a2739c4fec2cc29c560bcf8e5e420e">_funcToWTO</a>;</div>
|
|
272
|
+
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#ac7b2e6bdccab5a507c9e8db8ea4682d3"> 275</a></span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="classSVF_1_1AbstractExecution.html#ac7b2e6bdccab5a507c9e8db8ea4682d3">_recursiveFuns</a>;</div>
|
|
273
|
+
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractExecution.html#a18903b2257e3a2aeec53d79bcf83e7d5"> 276</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AbstractExecution.html#a18903b2257e3a2aeec53d79bcf83e7d5">_moduleName</a>;</div>
|
|
274
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  </div>
|
|
275
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> };</div>
|
|
276
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  </div>
|
|
277
|
+
<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html"> 280</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1AEAPI.html">AEAPI</a></div>
|
|
278
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div>
|
|
279
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">public</span>:</div>
|
|
280
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  </div>
|
|
281
|
+
<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ad4967592a9dcf19d84c85dd08e93137a"> 284</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1AddressValue.html">ExeState::Addrs</a> <a class="code" href="classSVF_1_1AEAPI.html#ad4967592a9dcf19d84c85dd08e93137a">Addrs</a>;</div>
|
|
282
|
+
<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a"> 285</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04">ExtAPIType</a> { <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a">UNCLASSIFIED</a>, <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28">MEMCPY</a>, <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313">MEMSET</a>, <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04aadccf4db29e170b4d669ef023866a28d">STRCPY</a>, <a class="code" href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9">STRCAT</a> };</div>
|
|
283
|
+
<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#a31545025fcf62a0c6680ba99666f7b01"> 286</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AEAPI.html#a31545025fcf62a0c6680ba99666f7b01">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AEAPI.html">AEAPI</a>* api)</div>
|
|
284
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div>
|
|
285
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> api-><a class="code" href="classSVF_1_1AEAPI.html#ab549486e45e0c775c75f0f8749797a1c">getKind</a>() == <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AEKind::AbstractExecution</a>;</div>
|
|
286
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div>
|
|
287
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div>
|
|
288
|
+
<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#aef0e9a5ff5633dc6fb96bab35484df2a"> 297</a></span>  <a class="code" href="classSVF_1_1AEAPI.html#aef0e9a5ff5633dc6fb96bab35484df2a">AEAPI</a>(<a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a>* ae, <a class="code" href="classSVF_1_1AEStat.html">AEStat</a>* stat): <a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>(ae), <a class="code" href="classSVF_1_1AEAPI.html#afed1d221bdb876046ec036f1cae53fd3">_stat</a>(stat)</div>
|
|
289
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  {</div>
|
|
290
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="classSVF_1_1AEAPI.html#a243821a56807acf98be9d88f8947e01d">initExtFunMap</a>();</div>
|
|
291
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="classSVF_1_1AEAPI.html#ac647ce8e5e4e14303a4c8c8fc6321492">_kind</a> = <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">AEKind::AbstractExecution</a>;</div>
|
|
292
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div>
|
|
293
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  </div>
|
|
294
|
+
<div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#a1b878ba64873caf341984d788d7b4d2a"> 303</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AEAPI.html#a1b878ba64873caf341984d788d7b4d2a">~AEAPI</a>() {}</div>
|
|
295
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  </div>
|
|
296
|
+
<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#a5172791c4432a4c4ab0f7e97e7b3b596"> 305</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a5172791c4432a4c4ab0f7e97e7b3b596">setModule</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* svfModule)</div>
|
|
297
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div>
|
|
298
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a> = svfModule;</div>
|
|
299
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  }</div>
|
|
300
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
|
|
301
|
+
<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ab549486e45e0c775c75f0f8749797a1c"> 310</a></span>  <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AEAPI.html#ab549486e45e0c775c75f0f8749797a1c">getKind</a>()<span class="keyword"> const</span></div>
|
|
302
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword"> </span>{</div>
|
|
303
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AEAPI.html#ac647ce8e5e4e14303a4c8c8fc6321492">_kind</a>;</div>
|
|
304
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div>
|
|
305
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  </div>
|
|
306
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#af64d742317f2ddad87b87012225ddaaa">handleExtAPI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
|
|
307
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  </div>
|
|
308
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a243821a56807acf98be9d88f8947e01d">initExtFunMap</a>();</div>
|
|
309
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  </div>
|
|
310
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AEAPI.html#afe6d49fd36a96bda165654eb393be6f2">getAllocaInstByteSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrStmt.html">AddrStmt</a> *addr);</div>
|
|
311
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div>
|
|
312
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AEAPI.html#a3df0f1b34893f44904dce62e6641a58e">strRead</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* rhs);</div>
|
|
313
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  </div>
|
|
314
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">getStrlen</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a> *strValue);</div>
|
|
315
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  </div>
|
|
316
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1AEAPI.html#a4efc7447db13da26ce284218d6c01059">traceMemoryAllocationSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value);</div>
|
|
317
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a13abbe8b8622df63e7f160732bc1cbfc">handleStrcpy</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
|
|
318
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a4d160903c3bbedbd486be39c40c2c836">handleStrcat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call);</div>
|
|
319
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#ae0847fb421538982bfd50cc280d1a65b">handleMemcpy</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* dst, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* src, <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> len, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> start_idx);</div>
|
|
320
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a185e694007f4d69b0030c65fb54c9c6d">handleMemset</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* dst, <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> elem, <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> len);</div>
|
|
321
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  </div>
|
|
322
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1AEAPI.html#a112519b672206ac552273666949eeb3b">getPointeeElement</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>);</div>
|
|
323
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  </div>
|
|
324
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a2dc09f4a21cf629ebe500f856cf86bb4">collectCheckPoint</a>();</div>
|
|
325
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#aa2a97be698768ddbcab0fec27bde60c8">checkPointAllSet</a>();</div>
|
|
326
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  </div>
|
|
327
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">protected</span>:</div>
|
|
328
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="comment">// helper functions for traceMemoryAllocationSize and canSafelyAccessMemory</span></div>
|
|
329
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a7be3da80bedb1077a99d67daa124afde">AccessMemoryViaRetNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *callnode, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList<const SVFValue *></a>& worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFValue *></a>& visited);</div>
|
|
330
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#a3665513f6e8f8b93ef3f9d273d03ee70">AccessMemoryViaCopyStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CopyStmt.html">CopyStmt</a> *<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList<const SVFValue *></a>& worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFValue *></a>& visited);</div>
|
|
331
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#afa34cb2ee3fc1ca5aa04a2afe7c2d6e8">AccessMemoryViaLoadStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList<const SVFValue *></a>& worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFValue *></a>& visited);</div>
|
|
332
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AEAPI.html#ac49859a7848fbef0e29492e95b031f1f">AccessMemoryViaCallArgs</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a> *arg, <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList<const SVFValue *></a>& worklist, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFValue *></a>& visited);</div>
|
|
333
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  </div>
|
|
334
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div>
|
|
335
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword">protected</span>:</div>
|
|
336
|
+
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded"> 423</a></span>  <a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a>* <a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>;</div>
|
|
337
|
+
<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#afed1d221bdb876046ec036f1cae53fd3"> 424</a></span>  <a class="code" href="classSVF_1_1AEStat.html">AEStat</a>* <a class="code" href="classSVF_1_1AEAPI.html#afed1d221bdb876046ec036f1cae53fd3">_stat</a>;</div>
|
|
338
|
+
<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60"> 425</a></span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>;</div>
|
|
339
|
+
<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ac647ce8e5e4e14303a4c8c8fc6321492"> 426</a></span>  <a class="code" href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">AEKind</a> <a class="code" href="classSVF_1_1AEAPI.html#ac647ce8e5e4e14303a4c8c8fc6321492">_kind</a>;</div>
|
|
340
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  </div>
|
|
341
|
+
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ab47136a3fee89fa6cad5ddb95306f27f"> 428</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>, std::function<void(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &)>> <a class="code" href="classSVF_1_1AEAPI.html#ab47136a3fee89fa6cad5ddb95306f27f">_func_map</a>;</div>
|
|
342
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  </div>
|
|
343
|
+
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361"> 430</a></span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CallICFGNode*></a> <a class="code" href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">_checkpoints</a>;</div>
|
|
344
|
+
<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1AEAPI.html#ace3e82bcfbb4495a765e01d75a58dc3f"> 431</a></span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<std::string></a> <a class="code" href="classSVF_1_1AEAPI.html#ace3e82bcfbb4495a765e01d75a58dc3f">_checkpoint_names</a>;</div>
|
|
345
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> };</div>
|
|
346
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> }</div>
|
|
347
|
+
</div><!-- fragment --></div><!-- contents -->
|
|
348
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afe6d49fd36a96bda165654eb393be6f2"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afe6d49fd36a96bda165654eb393be6f2">SVF::AEAPI::getAllocaInstByteSize</a></div><div class="ttdeci">u32_t getAllocaInstByteSize(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01362">AbstractExecution.cpp:1362</a></div></div>
|
|
349
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html">SVF::AbstractExecution</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00106">AbstractExecution.h:106</a></div></div>
|
|
350
|
+
<div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00364">SVFStatements.h:364</a></div></div>
|
|
351
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a33b63d79de59e0015097c43978162ded"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">SVF::AEAPI::_ae</a></div><div class="ttdeci">AbstractExecution * _ae</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00423">AbstractExecution.h:423</a></div></div>
|
|
352
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a28df4f2bd5b337468f254cd609adb25f"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a28df4f2bd5b337468f254cd609adb25f">SVF::AbstractExecution::hasBranchES</a></div><div class="ttdeci">bool hasBranchES(const IntraCFGEdge *intraEdge, IntervalExeState &es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00564">AbstractExecution.cpp:564</a></div></div>
|
|
353
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ad36d48c0ef82de915d9339c4f47cbd70"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ad36d48c0ef82de915d9339c4f47cbd70">SVF::AbstractExecution::_kind</a></div><div class="ttdeci">AEKind _kind</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00243">AbstractExecution.h:243</a></div></div>
|
|
354
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_adc740771e712644d08f95fc6c488c1af"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#adc740771e712644d08f95fc6c488c1af">SVF::AbstractExecution::hasSwitchBranchES</a></div><div class="ttdeci">bool hasSwitchBranchES(const SVFVar *var, s64_t succ, IntervalExeState &es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00520">AbstractExecution.cpp:520</a></div></div>
|
|
355
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a9c23029833558b082c613fa5e0f14c0d"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a9c23029833558b082c613fa5e0f14c0d">SVF::AbstractExecution::classof</a></div><div class="ttdeci">static bool classof(const AbstractExecution *ae)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00127">AbstractExecution.h:127</a></div></div>
|
|
356
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_aff1c9582db75361b68aaaf0c4b8b6f0d"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#aff1c9582db75361b68aaaf0c4b8b6f0d">SVF::AbstractExecution::directCallFunPass</a></div><div class="ttdeci">void directCallFunPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00693">AbstractExecution.cpp:693</a></div></div>
|
|
357
|
+
<div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
|
|
358
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a640e6714576772f9f1bac826ba93707d"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a640e6714576772f9f1bac826ba93707d">SVF::AbstractExecution::_CFBlockG</a></div><div class="ttdeci">CFBasicBlockGraph * _CFBlockG</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00270">AbstractExecution.h:270</a></div></div>
|
|
359
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a319fe24ebb925f70fde574d5b17c3b98"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a319fe24ebb925f70fde574d5b17c3b98">SVF::AbstractExecution::isExtCall</a></div><div class="ttdeci">bool isExtCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00652">AbstractExecution.cpp:652</a></div></div>
|
|
360
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ab5021d59a929f4eaf5e59d911036d201"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ab5021d59a929f4eaf5e59d911036d201">SVF::AbstractExecution::_icfg</a></div><div class="ttdeci">ICFG * _icfg</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00241">AbstractExecution.h:241</a></div></div>
|
|
361
|
+
<div class="ttc" id="aclassSVF_1_1SVFStat_html_abd7a79d1fe50110a0c1d448027492669"><div class="ttname"><a href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">SVF::SVFStat::startTime</a></div><div class="ttdeci">double startTime</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00080">SVFStat.h:80</a></div></div>
|
|
362
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a6cbc336372afb947c783fb14c45426df"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a6cbc336372afb947c783fb14c45426df">SVF::AbstractExecution::handleCallSite</a></div><div class="ttdeci">virtual void handleCallSite(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00621">AbstractExecution.cpp:621</a></div></div>
|
|
363
|
+
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00092">GeneralType.h:92</a></div></div>
|
|
364
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a4b1f6388893e6aaef1acd411972cde19"><div class="ttname"><a href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">SVF::AEStat::memUsage</a></div><div class="ttdeci">std::string memUsage</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00075">AbstractExecution.h:75</a></div></div>
|
|
365
|
+
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
|
|
366
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ad364ccca2d91efa83263fad7ed196361"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">SVF::AEAPI::_checkpoints</a></div><div class="ttdeci">Set< const CallICFGNode * > _checkpoints</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00430">AbstractExecution.h:430</a></div></div>
|
|
367
|
+
<div class="ttc" id="aSVFGBuilder_8h_html"><div class="ttname"><a href="SVFGBuilder_8h.html">SVFGBuilder.h</a></div></div>
|
|
368
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a4d160903c3bbedbd486be39c40c2c836"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a4d160903c3bbedbd486be39c40c2c836">SVF::AEAPI::handleStrcat</a></div><div class="ttdeci">virtual void handleStrcat(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01580">AbstractExecution.cpp:1580</a></div></div>
|
|
369
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ac7a25ad5cbc1a6132869ae54b805f73a"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ac7a25ad5cbc1a6132869ae54b805f73a">SVF::AbstractExecution::hasCmpBranchES</a></div><div class="ttdeci">bool hasCmpBranchES(const CmpStmt *cmpStmt, s64_t succ, IntervalExeState &es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00290">AbstractExecution.cpp:290</a></div></div>
|
|
370
|
+
<div class="ttc" id="aSVFIR2ItvExeState_8h_html"><div class="ttname"><a href="SVFIR2ItvExeState_8h.html">SVFIR2ItvExeState.h</a></div></div>
|
|
371
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9">SVF::AEAPI::STRCAT</a></div><div class="ttdeci">@ STRCAT</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
372
|
+
<div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">SVF::AEKind::AbstractExecution</a></div><div class="ttdeci">@ AbstractExecution</div></div>
|
|
373
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae983d887ccf66c7f21b4712b37ab5f60"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">SVF::AEAPI::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00425">AbstractExecution.h:425</a></div></div>
|
|
374
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a03a5abacf309902ce2bb9a9733ff195f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">SVF::AEStat::count</a></div><div class="ttdeci">s32_t count</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00073">AbstractExecution.h:73</a></div></div>
|
|
375
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a55737f5c82afce29a816eb21070a2bc1"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a55737f5c82afce29a816eb21070a2bc1">SVF::AbstractExecution::_nodeToBugInfo</a></div><div class="ttdeci">Map< const ICFGNode *, std::string > _nodeToBugInfo</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00248">AbstractExecution.h:248</a></div></div>
|
|
376
|
+
<div class="ttc" id="aclassSVF_1_1SVFBugReport_html"><div class="ttname"><a href="classSVF_1_1SVFBugReport.html">SVF::SVFBugReport</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00288">SVFBugReport.h:288</a></div></div>
|
|
377
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00884">SVFStatements.h:884</a></div></div>
|
|
378
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a5172791c4432a4c4ab0f7e97e7b3b596"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a5172791c4432a4c4ab0f7e97e7b3b596">SVF::AEAPI::setModule</a></div><div class="ttdeci">void setModule(SVFIR *svfModule)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00305">AbstractExecution.h:305</a></div></div>
|
|
379
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a5e24bceb3d6961117651dbc65e9a097a"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">SVF::AbstractExecution::_svfir2ExeState</a></div><div class="ttdeci">SVFIR2ItvExeState * _svfir2ExeState</div><div class="ttdoc">Execution State, used to store the Interval Value of every SVF variable.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00238">AbstractExecution.h:238</a></div></div>
|
|
380
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a2387fafd4d8f7775cb4ebf7b41b07bf8"><div class="ttname"><a href="classSVF_1_1AEStat.html#a2387fafd4d8f7775cb4ebf7b41b07bf8">SVF::AEStat::bugStr</a></div><div class="ttdeci">std::string bugStr</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00076">AbstractExecution.h:76</a></div></div>
|
|
381
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_aa220cdcd1653998d684ec14fe729932d"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#aa220cdcd1653998d684ec14fe729932d">SVF::AbstractExecution::recursiveCallPass</a></div><div class="ttdeci">void recursiveCallPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00671">AbstractExecution.cpp:671</a></div></div>
|
|
382
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_aa964763a5e9e99276707bd6678d1f37f"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#aa964763a5e9e99276707bd6678d1f37f">SVF::AbstractExecution::widenFixpointPass</a></div><div class="ttdeci">bool widenFixpointPass(const CFBasicBlockNode *cycle_head, IntervalExeState &pre_es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00829">AbstractExecution.cpp:829</a></div></div>
|
|
383
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a2dc09f4a21cf629ebe500f856cf86bb4"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a2dc09f4a21cf629ebe500f856cf86bb4">SVF::AEAPI::collectCheckPoint</a></div><div class="ttdeci">void collectCheckPoint()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01313">AbstractExecution.cpp:1313</a></div></div>
|
|
384
|
+
<div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
385
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a798d07cc0a36ce0d9010ab86d1ec216f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a798d07cc0a36ce0d9010ab86d1ec216f">SVF::AEStat::performStat</a></div><div class="ttdeci">void performStat() override</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01085">AbstractExecution.cpp:1085</a></div></div>
|
|
386
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ac8af7bb8a5442ffd885249cecc5c0f02"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ac8af7bb8a5442ffd885249cecc5c0f02">SVF::AbstractExecution::isGlobalEntry</a></div><div class="ttdeci">bool isGlobalEntry(const CFBasicBlockNode *block)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00282">AbstractExecution.cpp:282</a></div></div>
|
|
387
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a5ed683d635bd05f0bee10436d20deb31"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a5ed683d635bd05f0bee10436d20deb31">SVF::AbstractExecution::_recoder</a></div><div class="ttdeci">SVFBugReport _recoder</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00246">AbstractExecution.h:246</a></div></div>
|
|
388
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a97c5745ddcd0ce72e65dee09ff7afb42"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a97c5745ddcd0ce72e65dee09ff7afb42">SVF::AbstractExecution::SkipRecursiveCall</a></div><div class="ttdeci">virtual void SkipRecursiveCall(const CallICFGNode *callnode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00958">AbstractExecution.cpp:958</a></div></div>
|
|
389
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ac7b2e6bdccab5a507c9e8db8ea4682d3"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ac7b2e6bdccab5a507c9e8db8ea4682d3">SVF::AbstractExecution::_recursiveFuns</a></div><div class="ttdeci">Set< const SVFFunction * > _recursiveFuns</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00275">AbstractExecution.h:275</a></div></div>
|
|
390
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ac49859a7848fbef0e29492e95b031f1f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ac49859a7848fbef0e29492e95b031f1f">SVF::AEAPI::AccessMemoryViaCallArgs</a></div><div class="ttdeci">void AccessMemoryViaCallArgs(const SVF::SVFArgument *arg, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01799">AbstractExecution.cpp:1799</a></div></div>
|
|
391
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a3df0f1b34893f44904dce62e6641a58e"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a3df0f1b34893f44904dce62e6641a58e">SVF::AEAPI::strRead</a></div><div class="ttdeci">std::string strRead(const SVFValue *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01218">AbstractExecution.cpp:1218</a></div></div>
|
|
392
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afed1d221bdb876046ec036f1cae53fd3"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afed1d221bdb876046ec036f1cae53fd3">SVF::AEAPI::_stat</a></div><div class="ttdeci">AEStat * _stat</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00424">AbstractExecution.h:424</a></div></div>
|
|
393
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a91a2739c4fec2cc29c560bcf8e5e420e"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a91a2739c4fec2cc29c560bcf8e5e420e">SVF::AbstractExecution::_funcToWTO</a></div><div class="ttdeci">Map< const SVFFunction *, CFBasicBlockGWTO * > _funcToWTO</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00274">AbstractExecution.h:274</a></div></div>
|
|
394
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a6c381287424a3623cfdae5a75d2a9c9b"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a6c381287424a3623cfdae5a75d2a9c9b">SVF::AbstractExecution::getKind</a></div><div class="ttdeci">AEKind getKind() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00132">AbstractExecution.h:132</a></div></div>
|
|
395
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afa34cb2ee3fc1ca5aa04a2afe7c2d6e8"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afa34cb2ee3fc1ca5aa04a2afe7c2d6e8">SVF::AEAPI::AccessMemoryViaLoadStmt</a></div><div class="ttdeci">void AccessMemoryViaLoadStmt(const LoadStmt *load, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01779">AbstractExecution.cpp:1779</a></div></div>
|
|
396
|
+
<div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
|
|
397
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html">SVF::SVFIR2ItvExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00041">SVFIR2ItvExeState.h:41</a></div></div>
|
|
398
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28">SVF::AEAPI::MEMCPY</a></div><div class="ttdeci">@ MEMCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
399
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a790c178f8c29eecfc256a5dfd97d1637"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">SVF::AbstractExecution::_bugLoc</a></div><div class="ttdeci">Set< std::string > _bugLoc</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00245">AbstractExecution.h:245</a></div></div>
|
|
400
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a1d725fe50a7084bfa18bd47b941af885"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a1d725fe50a7084bfa18bd47b941af885">SVF::AbstractExecution::handleSVFStatement</a></div><div class="ttdeci">virtual void handleSVFStatement(const SVFStmt *stmt)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00899">AbstractExecution.cpp:899</a></div></div>
|
|
401
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a243821a56807acf98be9d88f8947e01d"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a243821a56807acf98be9d88f8947e01d">SVF::AEAPI::initExtFunMap</a></div><div class="ttdeci">virtual void initExtFunMap()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01146">AbstractExecution.cpp:1146</a></div></div>
|
|
402
|
+
<div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
|
|
403
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae0519df0b6927a2d077c3d46beeaa9f7"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">SVF::AEAPI::getStrlen</a></div><div class="ttdeci">IntervalValue getStrlen(const SVF::SVFValue *strValue)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01526">AbstractExecution.cpp:1526</a></div></div>
|
|
404
|
+
<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>
|
|
405
|
+
<div class="ttc" id="aclassSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00385">ICFGNode.h:385</a></div></div>
|
|
406
|
+
<div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00156">SVFType.h:156</a></div></div>
|
|
407
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a7a9a6b46b24d044316f609f71344e2bb"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a7a9a6b46b24d044316f609f71344e2bb">SVF::AbstractExecution::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(SVFIR *svfModule)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00092">AbstractExecution.cpp:92</a></div></div>
|
|
408
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a7e1c3edfa546182ad394116b37b834f9"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a7e1c3edfa546182ad394116b37b834f9">SVF::AbstractExecution::SkipRecursiveFunc</a></div><div class="ttdeci">virtual void SkipRecursiveFunc(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00985">AbstractExecution.cpp:985</a></div></div>
|
|
409
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313">SVF::AEAPI::MEMSET</a></div><div class="ttdeci">@ MEMSET</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
410
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a1e297f15d582d8c94c128a146ec92e1d"><div class="ttname"><a href="classSVF_1_1AEStat.html#a1e297f15d582d8c94c128a146ec92e1d">SVF::AEStat::AEStat</a></div><div class="ttdeci">AEStat(AbstractExecution *ae)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00054">AbstractExecution.h:54</a></div></div>
|
|
411
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a740648f04067e6587eab8f328d57ce2c"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a740648f04067e6587eab8f328d57ce2c">SVF::AbstractExecution::_postES</a></div><div class="ttdeci">Map< const CFBasicBlockNode *, IntervalExeState > _postES</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00273">AbstractExecution.h:273</a></div></div>
|
|
412
|
+
<div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00113">ICFGEdge.h:113</a></div></div>
|
|
413
|
+
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
414
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a7be3da80bedb1077a99d67daa124afde"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a7be3da80bedb1077a99d67daa124afde">SVF::AEAPI::AccessMemoryViaRetNode</a></div><div class="ttdeci">void AccessMemoryViaRetNode(const CallICFGNode *callnode, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01745">AbstractExecution.cpp:1745</a></div></div>
|
|
415
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a53f3b9c51ed8648f14ecb703e9fe67ae"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a53f3b9c51ed8648f14ecb703e9fe67ae">SVF::AbstractExecution::_ander</a></div><div class="ttdeci">AndersenWaveDiff * _ander</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00271">AbstractExecution.h:271</a></div></div>
|
|
416
|
+
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a630ff9c47f58f9b8df7c8a2b3711477c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVF::SVFUtil::getMemoryUsageKB</a></div><div class="ttdeci">bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)</div><div class="ttdoc">Get memory usage from system file. Return TRUE if succeed.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00177">SVFUtil.cpp:177</a></div></div>
|
|
417
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a209315b8ebebe7fae08ad978bc82f228"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a209315b8ebebe7fae08ad978bc82f228">SVF::AbstractExecution::_preES</a></div><div class="ttdeci">Map< const CFBasicBlockNode *, IntervalExeState > _preES</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00272">AbstractExecution.h:272</a></div></div>
|
|
418
|
+
<div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88">SVF::AEKind</a></div><div class="ttdeci">AEKind</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00043">AbstractExecution.h:43</a></div></div>
|
|
419
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_acc2262e59167d040da3b5c726bdbf36e"><div class="ttname"><a href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">SVF::AEStat::getMemUsage</a></div><div class="ttdeci">std::string getMemUsage()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00061">AbstractExecution.h:61</a></div></div>
|
|
420
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ae641b5687513661a2542e8318430d760"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ae641b5687513661a2542e8318430d760">SVF::AbstractExecution::markRecursiveFuns</a></div><div class="ttdeci">void markRecursiveFuns()</div><div class="ttdoc">mark recursive functions by detecting SCC in callgraph</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00153">AbstractExecution.cpp:153</a></div></div>
|
|
421
|
+
<div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
|
|
422
|
+
<div class="ttc" id="aclassSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00076">SVFStat.h:76</a></div></div>
|
|
423
|
+
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00407">IntervalExeState.h:407</a></div></div>
|
|
424
|
+
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
425
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_ae2cfe939670689a4ec5030c096a5f546"><div class="ttname"><a href="classSVF_1_1AEStat.html#ae2cfe939670689a4ec5030c096a5f546">SVF::AEStat::countStateSize</a></div><div class="ttdeci">void countStateSize()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01022">AbstractExecution.cpp:1022</a></div></div>
|
|
426
|
+
<div class="ttc" id="aSVFBugReport_8h_html"><div class="ttname"><a href="SVFBugReport_8h.html">SVFBugReport.h</a></div></div>
|
|
427
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a4715ec6b1aefdfd600fda8324cde2a66"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a4715ec6b1aefdfd600fda8324cde2a66">SVF::AbstractExecution::handleBlock</a></div><div class="ttdeci">void handleBlock(const CFBasicBlockNode *block)</div><div class="ttdoc">handle instructions in svf basic blocks</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00590">AbstractExecution.cpp:590</a></div></div>
|
|
428
|
+
<div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00437">SVFStatements.h:437</a></div></div>
|
|
429
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a">SVF::AEAPI::UNCLASSIFIED</a></div><div class="ttdeci">@ UNCLASSIFIED</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
430
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
|
|
431
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_acf4a6c3fe5a2239512acb791b9aba854"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#acf4a6c3fe5a2239512acb791b9aba854">SVF::AbstractExecution::extCallPass</a></div><div class="ttdeci">void extCallPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00658">AbstractExecution.cpp:658</a></div></div>
|
|
432
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a974988b7df3982938e081883d7349a91"><div class="ttname"><a href="classSVF_1_1AEStat.html#a974988b7df3982938e081883d7349a91">SVF::AEStat::~AEStat</a></div><div class="ttdeci">~AEStat()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00058">AbstractExecution.h:58</a></div></div>
|
|
433
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_aec702d92bbba9e847a9b3eada060a2c5"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#aec702d92bbba9e847a9b3eada060a2c5">SVF::AbstractExecution::isDirectCall</a></div><div class="ttdeci">bool isDirectCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00688">AbstractExecution.cpp:688</a></div></div>
|
|
434
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae0847fb421538982bfd50cc280d1a65b"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae0847fb421538982bfd50cc280d1a65b">SVF::AEAPI::handleMemcpy</a></div><div class="ttdeci">virtual void handleMemcpy(const SVFValue *dst, const SVFValue *src, IntervalValue len, u32_t start_idx)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01616">AbstractExecution.cpp:1616</a></div></div>
|
|
435
|
+
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
|
|
436
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a8c69d36465485cddc17eddfdeea551e0"><div class="ttname"><a href="classSVF_1_1AEStat.html#a8c69d36465485cddc17eddfdeea551e0">SVF::AEStat::getFunctionTrace</a></div><div class="ttdeci">u32_t & getFunctionTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00079">AbstractExecution.h:79</a></div></div>
|
|
437
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_accf5896d39647e41e1408fa90935b650"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#accf5896d39647e41e1408fa90935b650">SVF::AbstractExecution::indirectCallFunPass</a></div><div class="ttdeci">void indirectCallFunPass(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00716">AbstractExecution.cpp:716</a></div></div>
|
|
438
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a714fa1f4794008f630de415414cf8bfd"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a714fa1f4794008f630de415414cf8bfd">SVF::AbstractExecution::handleICFGNode</a></div><div class="ttdeci">virtual void handleICFGNode(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00746">AbstractExecution.cpp:746</a></div></div>
|
|
439
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a26f8c21bd96ae22ca2e72af6fbfa410c"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c">SVF::AbstractExecution::_api</a></div><div class="ttdeci">AEAPI * _api</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00239">AbstractExecution.h:239</a></div></div>
|
|
440
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a185e694007f4d69b0030c65fb54c9c6d"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a185e694007f4d69b0030c65fb54c9c6d">SVF::AEAPI::handleMemset</a></div><div class="ttdeci">virtual void handleMemset(const SVFValue *dst, IntervalValue elem, IntervalValue len)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01690">AbstractExecution.cpp:1690</a></div></div>
|
|
441
|
+
<div class="ttc" id="aCFBasicBlockGWTO_8h_html"><div class="ttname"><a href="CFBasicBlockGWTO_8h.html">CFBasicBlockGWTO.h</a></div></div>
|
|
442
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ab549486e45e0c775c75f0f8749797a1c"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ab549486e45e0c775c75f0f8749797a1c">SVF::AEAPI::getKind</a></div><div class="ttdeci">AEKind getKind() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00310">AbstractExecution.h:310</a></div></div>
|
|
443
|
+
<div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html">SVF::BufOverflowChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00170">BufOverflowChecker.h:170</a></div></div>
|
|
444
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_af64d742317f2ddad87b87012225ddaaa"><div class="ttname"><a href="classSVF_1_1AEAPI.html#af64d742317f2ddad87b87012225ddaaa">SVF::AEAPI::handleExtAPI</a></div><div class="ttdeci">virtual void handleExtAPI(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01247">AbstractExecution.cpp:1247</a></div></div>
|
|
445
|
+
<div class="ttc" id="aclassSVF_1_1WTOCycle_html"><div class="ttname"><a href="classSVF_1_1WTOCycle.html">SVF::WTOCycle</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00047">WTO.h:47</a></div></div>
|
|
446
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a8ad0f3d5a0c9de60eff91fcc0dd44aae"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a8ad0f3d5a0c9de60eff91fcc0dd44aae">SVF::AbstractExecution::CallGraphSCC</a></div><div class="ttdeci">SCCDetection< PTACallGraph * > CallGraphSCC</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00112">AbstractExecution.h:112</a></div></div>
|
|
447
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_afaa47798ebfde513c709b46cac05294c"><div class="ttname"><a href="classSVF_1_1AEStat.html#afaa47798ebfde513c709b46cac05294c">SVF::AEStat::getICFGNodeTrace</a></div><div class="ttdeci">u32_t & getICFGNodeTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00095">AbstractExecution.h:95</a></div></div>
|
|
448
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a74a55a4d4941c85bdfed81f060049bf0"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a74a55a4d4941c85bdfed81f060049bf0">SVF::AbstractExecution::_stat</a></div><div class="ttdeci">AEStat * _stat</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00242">AbstractExecution.h:242</a></div></div>
|
|
449
|
+
<div class="ttc" id="aclassSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
|
|
450
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a4efc7447db13da26ce284218d6c01059"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a4efc7447db13da26ce284218d6c01059">SVF::AEAPI::traceMemoryAllocationSize</a></div><div class="ttdeci">IntervalValue traceMemoryAllocationSize(const SVFValue *value)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01394">AbstractExecution.cpp:1394</a></div></div>
|
|
451
|
+
<div class="ttc" id="aclassSVF_1_1SCCDetection_html"><div class="ttname"><a href="classSVF_1_1SCCDetection.html">SVF::SCCDetection</a></div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00054">SCC.h:54</a></div></div>
|
|
452
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a331ce1725ac1441f5624a2211021f967"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a331ce1725ac1441f5624a2211021f967">SVF::AbstractExecution::narrowFixpointPass</a></div><div class="ttdeci">bool narrowFixpointPass(const CFBasicBlockNode *cycle_head, IntervalExeState &pre_es)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00851">AbstractExecution.cpp:851</a></div></div>
|
|
453
|
+
<div class="ttc" id="aclassSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00384">Andersen.h:384</a></div></div>
|
|
454
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00114">CFBasicBlockG.h:114</a></div></div>
|
|
455
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a84d8fedb7e9d23e92ffcb74b4cfbf78c"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a84d8fedb7e9d23e92ffcb74b4cfbf78c">SVF::AbstractExecution::AbstractExecution</a></div><div class="ttdeci">AbstractExecution()</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00138">AbstractExecution.cpp:138</a></div></div>
|
|
456
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a31545025fcf62a0c6680ba99666f7b01"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a31545025fcf62a0c6680ba99666f7b01">SVF::AEAPI::classof</a></div><div class="ttdeci">static bool classof(const AEAPI *api)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00286">AbstractExecution.h:286</a></div></div>
|
|
457
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a39439604f7d397f620a7639884ea5b50"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a39439604f7d397f620a7639884ea5b50">SVF::AbstractExecution::_callgraph</a></div><div class="ttdeci">PTACallGraph * _callgraph</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00236">AbstractExecution.h:236</a></div></div>
|
|
458
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_aef0e9a5ff5633dc6fb96bab35484df2a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#aef0e9a5ff5633dc6fb96bab35484df2a">SVF::AEAPI::AEAPI</a></div><div class="ttdeci">AEAPI(AbstractExecution *ae, AEStat *stat)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00297">AbstractExecution.h:297</a></div></div>
|
|
459
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a46364bb8814f7bf6ddd492aa7dc58ffb"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a46364bb8814f7bf6ddd492aa7dc58ffb">SVF::AbstractExecution::analyse</a></div><div class="ttdeci">void analyse()</div><div class="ttdoc">Program entry.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00167">AbstractExecution.cpp:167</a></div></div>
|
|
460
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a49742e8c3a8fe598a0945a8d8ff394d0"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a49742e8c3a8fe598a0945a8d8ff394d0">SVF::AbstractExecution::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdoc">protected data members, also used in subclasses</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00235">AbstractExecution.h:235</a></div></div>
|
|
461
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a6b92cdb6c5d3ae425955864536f2cba7"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a6b92cdb6c5d3ae425955864536f2cba7">SVF::AbstractExecution::isRecursiveCall</a></div><div class="ttdeci">bool isRecursiveCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00665">AbstractExecution.cpp:665</a></div></div>
|
|
462
|
+
<div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
|
|
463
|
+
<div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00043">AddressValue.h:43</a></div></div>
|
|
464
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ad4967592a9dcf19d84c85dd08e93137a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ad4967592a9dcf19d84c85dd08e93137a">SVF::AEAPI::Addrs</a></div><div class="ttdeci">ExeState::Addrs Addrs</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00284">AbstractExecution.h:284</a></div></div>
|
|
465
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html"><div class="ttname"><a href="classSVF_1_1AEStat.html">SVF::AEStat</a></div><div class="ttdoc">AEStat: Statistic for AE.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00050">AbstractExecution.h:50</a></div></div>
|
|
466
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ab9d6ebcf67ec473ce7ad5910c74eddc1"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1">SVF::AbstractExecution::_callSiteStack</a></div><div class="ttdeci">std::vector< const CallICFGNode * > _callSiteStack</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00247">AbstractExecution.h:247</a></div></div>
|
|
467
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04aadccf4db29e170b4d669ef023866a28d"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04aadccf4db29e170b4d669ef023866a28d">SVF::AEAPI::STRCPY</a></div><div class="ttdeci">@ STRCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
468
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_aa2a97be698768ddbcab0fec27bde60c8"><div class="ttname"><a href="classSVF_1_1AEAPI.html#aa2a97be698768ddbcab0fec27bde60c8">SVF::AEAPI::checkPointAllSet</a></div><div class="ttdeci">void checkPointAllSet()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01332">AbstractExecution.cpp:1332</a></div></div>
|
|
469
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_adb88a8be0bc1c1ac2d1546e9191c6f93"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#adb88a8be0bc1c1ac2d1546e9191c6f93">SVF::AbstractExecution::handleFunc</a></div><div class="ttdeci">virtual void handleFunc(const SVFFunction *func)</div><div class="ttdoc">handle user defined function, ext function is not included.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00875">AbstractExecution.cpp:875</a></div></div>
|
|
470
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ab47136a3fee89fa6cad5ddb95306f27f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ab47136a3fee89fa6cad5ddb95306f27f">SVF::AEAPI::_func_map</a></div><div class="ttdeci">Map< std::string, std::function< void(const CallSite &)> > _func_map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00428">AbstractExecution.h:428</a></div></div>
|
|
471
|
+
<div class="ttc" id="aWorkList_8h_html"><div class="ttname"><a href="WorkList_8h.html">WorkList.h</a></div></div>
|
|
472
|
+
<div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
473
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a18903b2257e3a2aeec53d79bcf83e7d5"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a18903b2257e3a2aeec53d79bcf83e7d5">SVF::AbstractExecution::_moduleName</a></div><div class="ttdeci">std::string _moduleName</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00276">AbstractExecution.h:276</a></div></div>
|
|
474
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
|
|
475
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a4a08e449307cdcb56e8e32ca346d5349"><div class="ttname"><a href="classSVF_1_1AEStat.html#a4a08e449307cdcb56e8e32ca346d5349">SVF::AEStat::getBlockTrace</a></div><div class="ttdeci">u32_t & getBlockTrace()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00087">AbstractExecution.h:87</a></div></div>
|
|
476
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_af4579490ced0a02537850d62891cf5bc"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#af4579490ced0a02537850d62891cf5bc">SVF::AbstractExecution::handleCycle</a></div><div class="ttdeci">virtual void handleCycle(const CFBasicBlockGWTOCycle *cycle)</div><div class="ttdoc">handle wto cycle (loop)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00767">AbstractExecution.cpp:767</a></div></div>
|
|
477
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
478
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ace3e82bcfbb4495a765e01d75a58dc3f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ace3e82bcfbb4495a765e01d75a58dc3f">SVF::AEAPI::_checkpoint_names</a></div><div class="ttdeci">Set< std::string > _checkpoint_names</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00431">AbstractExecution.h:431</a></div></div>
|
|
479
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a6771ac262e5fdbac0006b293cde47398"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a6771ac262e5fdbac0006b293cde47398">SVF::AbstractExecution::~AbstractExecution</a></div><div class="ttdeci">virtual ~AbstractExecution()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00143">AbstractExecution.cpp:143</a></div></div>
|
|
480
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ac73335ecb1efc6c50775a205c618201f"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ac73335ecb1efc6c50775a205c618201f">SVF::AbstractExecution::hasInEdgesES</a></div><div class="ttdeci">bool hasInEdgesES(const CFBasicBlockNode *block)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00216">AbstractExecution.cpp:216</a></div></div>
|
|
481
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00313">CFBasicBlockG.h:313</a></div></div>
|
|
482
|
+
<div class="ttc" id="aclassSVF_1_1FILOWorkList_html"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00229">WorkList.h:229</a></div></div>
|
|
483
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a1b878ba64873caf341984d788d7b4d2a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a1b878ba64873caf341984d788d7b4d2a">SVF::AEAPI::~AEAPI</a></div><div class="ttdeci">virtual ~AEAPI()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00303">AbstractExecution.h:303</a></div></div>
|
|
484
|
+
<div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
485
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_adbce526127c9cc83d642cde2a1e77ff7"><div class="ttname"><a href="classSVF_1_1AEStat.html#adbce526127c9cc83d642cde2a1e77ff7">SVF::AEStat::_ae</a></div><div class="ttdeci">AbstractExecution * _ae</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00072">AbstractExecution.h:72</a></div></div>
|
|
486
|
+
<div class="ttc" id="aclassSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00897">SVFValue.h:897</a></div></div>
|
|
487
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a5b246c2175c44454236242dcf426f21f"><div class="ttname"><a href="classSVF_1_1AEStat.html#a5b246c2175c44454236242dcf426f21f">SVF::AEStat::finializeStat</a></div><div class="ttdeci">void finializeStat()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01042">AbstractExecution.cpp:1042</a></div></div>
|
|
488
|
+
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00049">GeneralType.h:49</a></div></div>
|
|
489
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_a2064225a75798a495100eb7da2c880af"><div class="ttname"><a href="classSVF_1_1AEStat.html#a2064225a75798a495100eb7da2c880af">SVF::AEStat::memory_usage</a></div><div class="ttdeci">std::string memory_usage</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00074">AbstractExecution.h:74</a></div></div>
|
|
490
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html"><div class="ttname"><a href="classSVF_1_1AEAPI.html">SVF::AEAPI</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00280">AbstractExecution.h:280</a></div></div>
|
|
491
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ac647ce8e5e4e14303a4c8c8fc6321492"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ac647ce8e5e4e14303a4c8c8fc6321492">SVF::AEAPI::_kind</a></div><div class="ttdeci">AEKind _kind</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00426">AbstractExecution.h:426</a></div></div>
|
|
492
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a13abbe8b8622df63e7f160732bc1cbfc"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a13abbe8b8622df63e7f160732bc1cbfc">SVF::AEAPI::handleStrcpy</a></div><div class="ttdeci">virtual void handleStrcpy(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01350">AbstractExecution.cpp:1350</a></div></div>
|
|
493
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04">SVF::AEAPI::ExtAPIType</a></div><div class="ttdeci">ExtAPIType</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
494
|
+
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00097">GeneralType.h:97</a></div></div>
|
|
495
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ab807fd4f914cd35a07fe19bb0d7f9860"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ab807fd4f914cd35a07fe19bb0d7f9860">SVF::AbstractExecution::isFunEntry</a></div><div class="ttdeci">bool isFunEntry(const CFBasicBlockNode *block)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00270">AbstractExecution.cpp:270</a></div></div>
|
|
496
|
+
<div class="ttc" id="aclassSVF_1_1AEStat_html_ae24590233a864e18a6b0948bef89201a"><div class="ttname"><a href="classSVF_1_1AEStat.html#ae24590233a864e18a6b0948bef89201a">SVF::AEStat::reportBug</a></div><div class="ttdeci">void reportBug()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01122">AbstractExecution.cpp:1122</a></div></div>
|
|
497
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a112519b672206ac552273666949eeb3b"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a112519b672206ac552273666949eeb3b">SVF::AEAPI::getPointeeElement</a></div><div class="ttdeci">const SVFType * getPointeeElement(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01673">AbstractExecution.cpp:1673</a></div></div>
|
|
498
|
+
<div class="ttc" id="aclassSVF_1_1SVFStat_html"><div class="ttname"><a href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00040">SVFStat.h:40</a></div></div>
|
|
499
|
+
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
|
|
500
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a4bf7be47ddc0ba53ec4a5e87f300763f"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a4bf7be47ddc0ba53ec4a5e87f300763f">SVF::AbstractExecution::initExtAPI</a></div><div class="ttdeci">virtual void initExtAPI()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00087">AbstractExecution.cpp:87</a></div></div>
|
|
501
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a7efff2047b2b6017fdd210a8679817cd"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a7efff2047b2b6017fdd210a8679817cd">SVF::AbstractExecution::handleGlobalNode</a></div><div class="ttdeci">virtual void handleGlobalNode()</div><div class="ttdoc">Global ICFGNode is handled at the entry of the program,.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00178">AbstractExecution.cpp:178</a></div></div>
|
|
502
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ad1baaa8eaad68b215f63941776e79ccf"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ad1baaa8eaad68b215f63941776e79ccf">SVF::AbstractExecution::isIndirectCall</a></div><div class="ttdeci">bool isIndirectCall(const CallICFGNode *callNode)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00710">AbstractExecution.cpp:710</a></div></div>
|
|
503
|
+
<div class="ttc" id="aAndersen_8h_html"><div class="ttname"><a href="Andersen_8h.html">Andersen.h</a></div></div>
|
|
504
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a3665513f6e8f8b93ef3f9d273d03ee70"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a3665513f6e8f8b93ef3f9d273d03ee70">SVF::AEAPI::AccessMemoryViaCopyStmt</a></div><div class="ttdeci">void AccessMemoryViaCopyStmt(const CopyStmt *copy, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01770">AbstractExecution.cpp:1770</a></div></div>
|
|
505
|
+
<!-- start footer part -->
|
|
506
|
+
<hr class="footer"/><address class="footer"><small>
|
|
507
|
+
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
508
|
+
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
509
|
+
</a> 1.8.17
|
|
510
|
+
</small></address>
|
|
511
|
+
</body>
|
|
512
|
+
</html>
|