svf-tools 1.0.910 → 1.0.911

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.
Files changed (39) hide show
  1. package/SVF-doxygen/html/AbstractInterpretation_8cpp.html +5 -5
  2. package/SVF-doxygen/html/AbstractInterpretation_8cpp_source.html +1151 -1131
  3. package/SVF-doxygen/html/AbstractInterpretation_8h_source.html +31 -31
  4. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +457 -450
  5. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +2 -2
  6. package/SVF-doxygen/html/SVFIR2AbsState_8h_source.html +2 -2
  7. package/SVF-doxygen/html/classSVF_1_1AEStat.html +116 -114
  8. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation-members.html +1 -1
  9. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.html +1009 -991
  10. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +1 -1
  11. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +118 -115
  12. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState-members.html +4 -4
  13. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState.html +32 -32
  14. package/SVF-doxygen/html/functions.html +2 -2
  15. package/SVF-doxygen/html/functions_func_g.html +13 -13
  16. package/SVF-doxygen/html/functions_g.html +9 -9
  17. package/SVF-doxygen/html/functions_p.html +6 -6
  18. package/SVF-doxygen/html/functions_s.html +7 -7
  19. package/SVF-doxygen/html/functions_t.html +2 -2
  20. package/SVF-doxygen/html/functions_v.html +6 -6
  21. package/SVF-doxygen/html/functions_vars.html +2 -2
  22. package/SVF-doxygen/html/functions_w.html +9 -17
  23. package/SVF-doxygen/html/search/all_0.js +1 -1
  24. package/SVF-doxygen/html/search/all_10.js +3 -3
  25. package/SVF-doxygen/html/search/all_12.js +5 -5
  26. package/SVF-doxygen/html/search/all_13.js +4 -4
  27. package/SVF-doxygen/html/search/all_15.js +3 -3
  28. package/SVF-doxygen/html/search/all_16.js +1 -1
  29. package/SVF-doxygen/html/search/all_7.js +248 -248
  30. package/SVF-doxygen/html/search/functions_10.js +1 -1
  31. package/SVF-doxygen/html/search/functions_7.js +247 -247
  32. package/SVF-doxygen/html/search/variables_0.js +1 -1
  33. package/SVF-doxygen/html/search/variables_12.js +1 -1
  34. package/SVF-doxygen/html/search/variables_13.js +2 -2
  35. package/package.json +1 -1
  36. package/svf/include/AE/Svfexe/AbstractInterpretation.h +1 -1
  37. package/svf/include/AE/Svfexe/SVFIR2AbsState.h +1 -1
  38. package/svf/lib/AE/Svfexe/AbstractInterpretation.cpp +88 -68
  39. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +37 -30
@@ -215,7 +215,7 @@ $(function() {
215
215
  </div><!-- fragment --></div><!-- contents -->
216
216
  <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></div><div class="ttdoc">AbstractInterpretation is same as Abstract Execution.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00107">AbstractInterpretation.h:107</a></div></div>
217
217
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_a645203900fcf19bb3118d0eacb21f137"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a645203900fcf19bb3118d0eacb21f137">SVF::BufOverflowException::getAllocVar</a></div><div class="ttdeci">const SVFValue * getAllocVar() const</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00086">BufOverflowChecker.h:86</a></div></div>
218
- <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_ad68fa02efad8b628e4542dc9ab6c58bf"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#ad68fa02efad8b628e4542dc9ab6c58bf">SVF::BufOverflowChecker::canSafelyAccessMemory</a></div><div class="ttdeci">bool canSafelyAccessMemory(const SVFValue *value, const AbstractValue &amp;len, const ICFGNode *curNode)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00489">BufOverflowChecker.cpp:489</a></div></div>
218
+ <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_ad68fa02efad8b628e4542dc9ab6c58bf"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#ad68fa02efad8b628e4542dc9ab6c58bf">SVF::BufOverflowChecker::canSafelyAccessMemory</a></div><div class="ttdeci">bool canSafelyAccessMemory(const SVFValue *value, const AbstractValue &amp;len, const ICFGNode *curNode)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00492">BufOverflowChecker.cpp:492</a></div></div>
219
219
  <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_afa6b30220b0b3261205a909def9ca44e"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#afa6b30220b0b3261205a909def9ca44e">SVF::BufOverflowChecker::handleICFGNode</a></div><div class="ttdeci">virtual void handleICFGNode(const SVF::ICFGNode *node) override</div></div>
220
220
  <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#l00067">BasicTypes.h:67</a></div></div>
221
221
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_a4eb54eb3943f96e60f89d2fdd99f08c0"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a4eb54eb3943f96e60f89d2fdd99f08c0">SVF::BufOverflowException::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00091">BufOverflowChecker.h:91</a></div></div>
@@ -249,7 +249,7 @@ $(function() {
249
249
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_add564a4b3a2d36953936f217e794ded0"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#add564a4b3a2d36953936f217e794ded0">SVF::BufOverflowException::_msg</a></div><div class="ttdeci">std::string _msg</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00098">BufOverflowChecker.h:98</a></div></div>
250
250
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_a3227be2f0eed6dd0215aa47ea484205c"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a3227be2f0eed6dd0215aa47ea484205c">SVF::BufOverflowException::_allocVar</a></div><div class="ttdeci">const SVFValue * _allocVar</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00100">BufOverflowChecker.h:100</a></div></div>
251
251
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_a3b4548e9ff028f4de2aee57ac9f8a6a2"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a3b4548e9ff028f4de2aee57ac9f8a6a2">SVF::BufOverflowException::BufOverflowException</a></div><div class="ttdeci">BufOverflowException(std::string msg, u32_t allocLb, u32_t allocUb, u32_t accessLb, u32_t accessUb, const SVFValue *allocVal)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00039">BufOverflowChecker.h:39</a></div></div>
252
- <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a1ed3cb0a1a118d9e505b192841a58dde"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a1ed3cb0a1a118d9e505b192841a58dde">SVF::BufOverflowChecker::handleExtAPI</a></div><div class="ttdeci">void handleExtAPI(const CallICFGNode *call) override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00414">BufOverflowChecker.cpp:414</a></div></div>
252
+ <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a1ed3cb0a1a118d9e505b192841a58dde"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a1ed3cb0a1a118d9e505b192841a58dde">SVF::BufOverflowChecker::handleExtAPI</a></div><div class="ttdeci">void handleExtAPI(const CallICFGNode *call) override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00415">BufOverflowChecker.cpp:415</a></div></div>
253
253
  <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_aecc0ded0645b8a8c43a3d466b642ce08"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#aecc0ded0645b8a8c43a3d466b642ce08">SVF::BufOverflowChecker::classof</a></div><div class="ttdeci">static bool classof(const AbstractInterpretation *ae)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00113">BufOverflowChecker.h:113</a></div></div>
254
254
  <div class="ttc" id="astructSVF_1_1BufOverflowException_html_a7a81a6ff4877a87f1a09c14cc70b1cc0"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a7a81a6ff4877a87f1a09c14cc70b1cc0">SVF::BufOverflowException::_accessLb</a></div><div class="ttdeci">u32_t _accessLb</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00099">BufOverflowChecker.h:99</a></div></div>
255
255
  <div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a0088456e712c555cbfba6203aec38037"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a0088456e712c555cbfba6203aec38037">SVF::BufOverflowChecker::_addrToGep</a></div><div class="ttdeci">Map&lt; NodeID, const GepStmt * &gt; _addrToGep</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00201">BufOverflowChecker.h:201</a></div></div>
@@ -122,7 +122,7 @@ $(function() {
122
122
  <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1SVFIR2AbsState.html#ad487088a4456b3f1d712c25756fe71e9">_es</a> = es;</div>
123
123
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
124
124
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
125
- <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3"> 54</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp; <a class="code" href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3">getEs</a>()</div>
125
+ <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa"> 54</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp; <a class="code" href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa">getAbsState</a>()</div>
126
126
  <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div>
127
127
  <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2AbsState.html#ad487088a4456b3f1d712c25756fe71e9">_es</a>;</div>
128
128
  <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
@@ -306,7 +306,6 @@ $(function() {
306
306
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a839a881ecff03f73102c1b48d9dbfb88"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a839a881ecff03f73102c1b48d9dbfb88">SVF::SVFIR2AbsState::handleRet</a></div><div class="ttdeci">void handleRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8cpp_source.html#l01099">SVFIR2AbsState.cpp:1099</a></div></div>
307
307
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a21e927af79c73460ff5629cbd4961163"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a21e927af79c73460ff5629cbd4961163">SVF::SVFIR2AbsState::getByteOffset</a></div><div class="ttdeci">AbstractValue getByteOffset(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8cpp_source.html#l00415">SVFIR2AbsState.cpp:415</a></div></div>
308
308
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
309
- <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_afe8766165bfc4be1f9d5f5df25c954a3"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3">SVF::SVFIR2AbsState::getEs</a></div><div class="ttdeci">AbstractState &amp; getEs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00054">SVFIR2AbsState.h:54</a></div></div>
310
309
  <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>
311
310
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_af13e2b1c28a16e046776187de62d3c20"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#af13e2b1c28a16e046776187de62d3c20">SVF::SVFIR2AbsState::handleCmp</a></div><div class="ttdeci">void handleCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8cpp_source.html#l00700">SVFIR2AbsState.cpp:700</a></div></div>
312
311
  <div class="ttc" id="aSVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
@@ -323,6 +322,7 @@ $(function() {
323
322
  <div class="ttc" id="aclassSVF_1_1AbstractState_html"><div class="ttname"><a href="classSVF_1_1AbstractState.html">SVF::AbstractState</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00054">AbstractState.h:54</a></div></div>
324
323
  <div class="ttc" id="aclassSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00526">SVFStatements.h:526</a></div></div>
325
324
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a5ba833f2f98f5b1b1a8a7ff7ecdb72b9"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a5ba833f2f98f5b1b1a8a7ff7ecdb72b9">SVF::SVFIR2AbsState::getFPTruncValue</a></div><div class="ttdeci">AbstractValue getFPTruncValue(const SVFVar *var, const SVFType *dstType)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8cpp_source.html#l00268">SVFIR2AbsState.cpp:268</a></div></div>
325
+ <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a99b526db536fb241ff755a82a45123fa"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa">SVF::SVFIR2AbsState::getAbsState</a></div><div class="ttdeci">AbstractState &amp; getAbsState()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00054">SVFIR2AbsState.h:54</a></div></div>
326
326
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_aa3e62b9ef912def502b95992199f5d8c"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#aa3e62b9ef912def502b95992199f5d8c">SVF::SVFIR2AbsState::getAddrs</a></div><div class="ttdeci">AbstractValue &amp; getAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00113">SVFIR2AbsState.h:113</a></div></div>
327
327
  <div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
328
328
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a592f4fe473d0159a3fbdac3bc35b424e"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a592f4fe473d0159a3fbdac3bc35b424e">SVF::SVFIR2AbsState::_relEs</a></div><div class="ttdeci">RelExeState _relEs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00210">SVFIR2AbsState.h:210</a></div></div>
@@ -259,19 +259,21 @@ Additional Inherited Members</h2></td></tr>
259
259
  </table>
260
260
  </div><div class="memdoc">
261
261
 
262
- <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l00951">951</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
263
- <div class="fragment"><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;{</div>
264
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a> == 0)</div>
265
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div>
266
- <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] = 0;</div>
267
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] = 0;</div>
268
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_Addr_AVG_Num&quot;</span>] = 0;</div>
269
- <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_Addr_AVG_Num&quot;</span>] = 0;</div>
270
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
271
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; ++<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
272
- <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] += <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">_svfir2ExeState</a>-&gt;<a class="code" href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3">getEs</a>().<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>().size();</div>
273
- <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] += <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">_svfir2ExeState</a>-&gt;<a class="code" href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3">getEs</a>().<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>().size();</div>
274
- <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;}</div>
262
+ <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l00952">952</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
263
+ <div class="fragment"><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;{</div>
264
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a> == 0)</div>
265
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
266
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] = 0;</div>
267
+ <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] = 0;</div>
268
+ <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_Addr_AVG_Num&quot;</span>] = 0;</div>
269
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_Addr_AVG_Num&quot;</span>] = 0;</div>
270
+ <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; }</div>
271
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; ++<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
272
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] +=</div>
273
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a9c592b91a1e3d72ada730387232a2fcf">_svfir2AbsState</a>-&gt;<a class="code" href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa">getAbsState</a>().<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>().size();</div>
274
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] +=</div>
275
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a9c592b91a1e3d72ada730387232a2fcf">_svfir2AbsState</a>-&gt;<a class="code" href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa">getAbsState</a>().<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>().size();</div>
276
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;}</div>
275
277
  </div><!-- fragment -->
276
278
  </div>
277
279
  </div>
@@ -290,46 +292,46 @@ Additional Inherited Members</h2></td></tr>
290
292
  </table>
291
293
  </div><div class="memdoc">
292
294
 
293
- <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l00965">965</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
294
- <div class="fragment"><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;{</div>
295
- <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a> = <a class="code" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">getMemUsage</a>();</div>
296
- <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a> &gt; 0)</div>
297
- <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; {</div>
298
- <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
299
- <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
300
- <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_Addr_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
301
- <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_Addr_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
302
- <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
303
- <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;SVF_STMT_NUM&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
304
- <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ICFG_Node_Num&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a>;</div>
305
- <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> callSiteNum = 0;</div>
306
- <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> extCallSiteNum = 0;</div>
307
- <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction *&gt;</a> funs;</div>
308
- <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: *<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>())</div>
309
- <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; {</div>
310
- <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">if</span> (it.second-&gt;getFun())</div>
311
- <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; {</div>
312
- <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; funs.insert(it.second-&gt;getFun());</div>
313
- <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; }</div>
314
- <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *callNode = dyn_cast&lt;CallICFGNode&gt;(it.second))</div>
315
- <div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; {</div>
316
- <div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callNode-&gt;getCallSite()))</div>
317
- <div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; {</div>
318
- <div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; callSiteNum++;</div>
319
- <div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; }</div>
320
- <div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; <span class="keywordflow">else</span></div>
321
- <div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; {</div>
322
- <div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; extCallSiteNum++;</div>
323
- <div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; }</div>
324
- <div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; }</div>
325
- <div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; }</div>
326
- <div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Func_Num&quot;</span>] = funs.size();</div>
327
- <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;EXT_CallSite_Num&quot;</span>] = extCallSiteNum;</div>
328
- <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;NonEXT_CallSite_Num&quot;</span>] = callSiteNum;</div>
329
- <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Bug_Num&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size();</div>
330
- <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;Total_Time(sec)&quot;</span>] = (double)(<a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a> - <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a>) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div>
331
- <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; </div>
332
- <div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;}</div>
295
+ <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l00968">968</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
296
+ <div class="fragment"><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;{</div>
297
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a> = <a class="code" href="classSVF_1_1AEStat.html#acc2262e59167d040da3b5c726bdbf36e">getMemUsage</a>();</div>
298
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a> &gt; 0)</div>
299
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div>
300
+ <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
301
+ <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
302
+ <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Var_Addr_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
303
+ <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ES_Loc_Addr_AVG_Num&quot;</span>] /= <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
304
+ <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; }</div>
305
+ <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;SVF_STMT_NUM&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#a03a5abacf309902ce2bb9a9733ff195f">count</a>;</div>
306
+ <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;ICFG_Node_Num&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a>;</div>
307
+ <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> callSiteNum = 0;</div>
308
+ <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> extCallSiteNum = 0;</div>
309
+ <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction *&gt;</a> funs;</div>
310
+ <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: *<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>())</div>
311
+ <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; {</div>
312
+ <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keywordflow">if</span> (it.second-&gt;getFun())</div>
313
+ <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; {</div>
314
+ <div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; funs.insert(it.second-&gt;getFun());</div>
315
+ <div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; }</div>
316
+ <div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *callNode = dyn_cast&lt;CallICFGNode&gt;(it.second))</div>
317
+ <div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; {</div>
318
+ <div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callNode-&gt;getCallSite()))</div>
319
+ <div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; {</div>
320
+ <div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; callSiteNum++;</div>
321
+ <div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; }</div>
322
+ <div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="keywordflow">else</span></div>
323
+ <div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; {</div>
324
+ <div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; extCallSiteNum++;</div>
325
+ <div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; }</div>
326
+ <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; }</div>
327
+ <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; }</div>
328
+ <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Func_Num&quot;</span>] = funs.size();</div>
329
+ <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;EXT_CallSite_Num&quot;</span>] = extCallSiteNum;</div>
330
+ <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;NonEXT_CallSite_Num&quot;</span>] = callSiteNum;</div>
331
+ <div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>[<span class="stringliteral">&quot;Bug_Num&quot;</span>] = <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size();</div>
332
+ <div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>[<span class="stringliteral">&quot;Total_Time(sec)&quot;</span>] = (double)(<a class="code" href="classSVF_1_1SVFStat.html#a8b01f1564408b51f28c107454bf9068d">endTime</a> - <a class="code" href="classSVF_1_1SVFStat.html#abd7a79d1fe50110a0c1d448027492669">startTime</a>) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div>
333
+ <div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; </div>
334
+ <div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;}</div>
333
335
  </div><!-- fragment -->
334
336
  </div>
335
337
  </div>
@@ -491,42 +493,42 @@ Additional Inherited Members</h2></td></tr>
491
493
 
492
494
  <p>Implements <a class="el" href="classSVF_1_1SVFStat.html#a77c24aa3409dcbf56f57302f237b1eeb">SVF::SVFStat</a>.</p>
493
495
 
494
- <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l01006">1006</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
495
- <div class="fragment"><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;{</div>
496
- <div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fullName(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#afefc0098ecd9bc01ce270a4a6f251b0c">_moduleName</a>);</div>
497
- <div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</div>
498
- <div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a>;</div>
499
- <div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">if</span> (fullName.find(<span class="charliteral">&#39;/&#39;</span>) == std::string::npos)</div>
500
- <div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; {</div>
501
- <div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = fullName;</div>
502
- <div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>.substr(0, fullName.find(<span class="charliteral">&#39;.&#39;</span>));</div>
503
- <div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; }</div>
504
- <div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <span class="keywordflow">else</span></div>
505
- <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; {</div>
506
- <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = fullName.substr(fullName.find(<span class="charliteral">&#39;/&#39;</span>), fullName.size());</div>
507
- <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>.substr(0, fullName.find(<span class="charliteral">&#39;.&#39;</span>));</div>
508
- <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; }</div>
509
- <div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; </div>
510
- <div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n************************\n&quot;</span>;</div>
511
- <div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;################ (program : &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> &lt;&lt; <span class="stringliteral">&quot;)###############\n&quot;</span>;</div>
512
- <div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div>
513
- <div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordtype">unsigned</span> field_width = 30;</div>
514
- <div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keywordflow">for</span> (NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.end(); it != eit; ++it)</div>
515
- <div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; {</div>
516
- <div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
517
- <div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
518
- <div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; }</div>
519
- <div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;-------------------------------------------------------\n&quot;</span>;</div>
520
- <div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it != eit; ++it)</div>
521
- <div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; {</div>
522
- <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
523
- <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
524
- <div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; }</div>
525
- <div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;Memory usage: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
526
- <div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; </div>
527
- <div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;#######################################################&quot;</span> &lt;&lt; std::endl;</div>
528
- <div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div>
529
- <div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;}</div>
496
+ <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l01009">1009</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
497
+ <div class="fragment"><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;{</div>
498
+ <div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fullName(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#afefc0098ecd9bc01ce270a4a6f251b0c">_moduleName</a>);</div>
499
+ <div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</div>
500
+ <div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a>;</div>
501
+ <div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">if</span> (fullName.find(<span class="charliteral">&#39;/&#39;</span>) == std::string::npos)</div>
502
+ <div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; {</div>
503
+ <div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = fullName;</div>
504
+ <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>.substr(0, fullName.find(<span class="charliteral">&#39;.&#39;</span>));</div>
505
+ <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; }</div>
506
+ <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">else</span></div>
507
+ <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; {</div>
508
+ <div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = fullName.substr(fullName.find(<span class="charliteral">&#39;/&#39;</span>), fullName.size());</div>
509
+ <div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>.substr(0, fullName.find(<span class="charliteral">&#39;.&#39;</span>));</div>
510
+ <div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; }</div>
511
+ <div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; </div>
512
+ <div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n************************\n&quot;</span>;</div>
513
+ <div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;################ (program : &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1SVFStat.html#a3333e45303dcc9c3da00858628cdbbff">moduleName</a> &lt;&lt; <span class="stringliteral">&quot;)###############\n&quot;</span>;</div>
514
+ <div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div>
515
+ <div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keywordtype">unsigned</span> field_width = 30;</div>
516
+ <div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">for</span> (NUMStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a>.end(); it != eit; ++it)</div>
517
+ <div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; {</div>
518
+ <div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
519
+ <div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; std::cout &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
520
+ <div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; }</div>
521
+ <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;-------------------------------------------------------\n&quot;</span>;</div>
522
+ <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="keywordflow">for</span> (TIMEStatMap::iterator it = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.begin(), eit = <a class="code" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a>.end(); it != eit; ++it)</div>
523
+ <div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; {</div>
524
+ <div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="comment">// format out put with width 20 space</span></div>
525
+ <div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; std::setw(field_width) &lt;&lt; it-&gt;first &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
526
+ <div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; }</div>
527
+ <div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;Memory usage: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AEStat.html#a4b1f6388893e6aaef1acd411972cde19">memUsage</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
528
+ <div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; </div>
529
+ <div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;#######################################################&quot;</span> &lt;&lt; std::endl;</div>
530
+ <div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flush();</div>
531
+ <div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;}</div>
530
532
  </div><!-- fragment -->
531
533
  </div>
532
534
  </div>
@@ -545,29 +547,29 @@ Additional Inherited Members</h2></td></tr>
545
547
  </table>
546
548
  </div><div class="memdoc">
547
549
 
548
- <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l01043">1043</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
549
- <div class="fragment"><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;{</div>
550
- <div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; </div>
551
- <div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; std::ofstream f;</div>
552
- <div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ad989eab7d521e9933ac8e46e1c29f662">Options::OutputName</a>().size() == 0)</div>
553
- <div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; {</div>
554
- <div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; f.open(<span class="stringliteral">&quot;/dev/null&quot;</span>);</div>
555
- <div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; }</div>
556
- <div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keywordflow">else</span></div>
557
- <div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; {</div>
558
- <div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; f.open(<a class="code" href="classSVF_1_1Options.html#ad989eab7d521e9933ac8e46e1c29f662">Options::OutputName</a>());</div>
559
- <div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div>
560
- <div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; </div>
561
- <div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;######################Full Overflow (&quot;</span> + std::to_string(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size()) + <span class="stringliteral">&quot; found)######################\n&quot;</span>;</div>
562
- <div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; f &lt;&lt; <span class="stringliteral">&quot;######################Full Overflow (&quot;</span> + std::to_string(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size()) + <span class="stringliteral">&quot; found)######################\n&quot;</span>;</div>
563
- <div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
564
- <div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; f &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
565
- <div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; it: <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>)</div>
566
- <div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; {</div>
567
- <div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; std::cerr &lt;&lt; it.second &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
568
- <div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; f &lt;&lt; it.second &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
569
- <div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; }</div>
570
- <div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div>
550
+ <p class="definition">Definition at line <a class="el" href="AbstractInterpretation_8cpp_source.html#l01046">1046</a> of file <a class="el" href="AbstractInterpretation_8cpp_source.html">AbstractInterpretation.cpp</a>.</p>
551
+ <div class="fragment"><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;{</div>
552
+ <div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; </div>
553
+ <div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; std::ofstream f;</div>
554
+ <div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ad989eab7d521e9933ac8e46e1c29f662">Options::OutputName</a>().size() == 0)</div>
555
+ <div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; {</div>
556
+ <div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; f.open(<span class="stringliteral">&quot;/dev/null&quot;</span>);</div>
557
+ <div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; }</div>
558
+ <div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keywordflow">else</span></div>
559
+ <div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; {</div>
560
+ <div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; f.open(<a class="code" href="classSVF_1_1Options.html#ad989eab7d521e9933ac8e46e1c29f662">Options::OutputName</a>());</div>
561
+ <div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; }</div>
562
+ <div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; </div>
563
+ <div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;######################Full Overflow (&quot;</span> + std::to_string(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size()) + <span class="stringliteral">&quot; found)######################\n&quot;</span>;</div>
564
+ <div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; f &lt;&lt; <span class="stringliteral">&quot;######################Full Overflow (&quot;</span> + std::to_string(<a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>.size()) + <span class="stringliteral">&quot; found)######################\n&quot;</span>;</div>
565
+ <div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
566
+ <div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; f &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
567
+ <div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; it: <a class="code" href="classSVF_1_1AEStat.html#aeba2d77291837b9615c4f8b014cacfeb">_ae</a>-&gt;<a class="code" href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">_nodeToBugInfo</a>)</div>
568
+ <div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; {</div>
569
+ <div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; std::cerr &lt;&lt; it.second &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
570
+ <div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; f &lt;&lt; it.second &lt;&lt; <span class="stringliteral">&quot;---------------------------------------------\n&quot;</span>;</div>
571
+ <div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; }</div>
572
+ <div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;}</div>
571
573
  </div><!-- fragment -->
572
574
  </div>
573
575
  </div>
@@ -664,7 +666,6 @@ Additional Inherited Members</h2></td></tr>
664
666
  <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="AbstractInterpretation_8h_source.html#l00076">AbstractInterpretation.h:76</a></div></div>
665
667
  <div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00512">SVFType.h:512</a></div></div>
666
668
  <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="AbstractInterpretation_8h_source.html#l00074">AbstractInterpretation.h:74</a></div></div>
667
- <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_af78f068a373ebb6a2f14dcde980a9dae"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">SVF::AbstractInterpretation::_svfir2ExeState</a></div><div class="ttdeci">SVFIR2AbsState * _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="AbstractInterpretation_8h_source.html#l00345">AbstractInterpretation.h:345</a></div></div>
668
669
  <div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
669
670
  <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a09aa739395388f64fcb3d539d58d2041"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a09aa739395388f64fcb3d539d58d2041">SVF::AbstractInterpretation::_nodeToBugInfo</a></div><div class="ttdeci">Map&lt; const ICFGNode *, std::string &gt; _nodeToBugInfo</div><div class="ttdef"><b>Definition:</b> <a href="AbstractInterpretation_8h_source.html#l00355">AbstractInterpretation.h:355</a></div></div>
670
671
  <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a618fc324a6c205d7e1b471bd850377a9"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">SVF::AbstractInterpretation::_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="AbstractInterpretation_8h_source.html#l00342">AbstractInterpretation.h:342</a></div></div>
@@ -673,11 +674,12 @@ Additional Inherited Members</h2></td></tr>
673
674
  <div class="ttc" id="aclassSVF_1_1Options_html_ad989eab7d521e9933ac8e46e1c29f662"><div class="ttname"><a href="classSVF_1_1Options.html#ad989eab7d521e9933ac8e46e1c29f662">SVF::Options::OutputName</a></div><div class="ttdeci">static const Option&lt; std::string &gt; OutputName</div><div class="ttdoc">bug info output file, Default: output.db</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00269">Options.h:269</a></div></div>
674
675
  <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>
675
676
  <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>
676
- <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_afe8766165bfc4be1f9d5f5df25c954a3"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#afe8766165bfc4be1f9d5f5df25c954a3">SVF::SVFIR2AbsState::getEs</a></div><div class="ttdeci">AbstractState &amp; getEs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00054">SVFIR2AbsState.h:54</a></div></div>
677
677
  <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>
678
678
  <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="AbstractInterpretation_8h_source.html#l00062">AbstractInterpretation.h:62</a></div></div>
679
679
  <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>
680
+ <div class="ttc" id="aclassSVF_1_1AbstractInterpretation_html_a9c592b91a1e3d72ada730387232a2fcf"><div class="ttname"><a href="classSVF_1_1AbstractInterpretation.html#a9c592b91a1e3d72ada730387232a2fcf">SVF::AbstractInterpretation::_svfir2AbsState</a></div><div class="ttdeci">SVFIR2AbsState * _svfir2AbsState</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="AbstractInterpretation_8h_source.html#l00345">AbstractInterpretation.h:345</a></div></div>
680
681
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a38122734cbe71551a420dfb7fee2012e"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">SVF::GenericGraph::nodeNum</a></div><div class="ttdeci">u32_t nodeNum</div><div class="ttdoc">total num of edge</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00456">GenericGraph.h:456</a></div></div>
682
+ <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html_a99b526db536fb241ff755a82a45123fa"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html#a99b526db536fb241ff755a82a45123fa">SVF::SVFIR2AbsState::getAbsState</a></div><div class="ttdeci">AbstractState &amp; getAbsState()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00054">SVFIR2AbsState.h:54</a></div></div>
681
683
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00309">SVFUtil.h:309</a></div></div>
682
684
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
683
685
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab8d9bf4a917a4691037ae08e2b634624"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">SVF::AbstractState::getLocToVal</a></div><div class="ttdeci">const AddrToAbsValMap &amp; getLocToVal() const</div><div class="ttdoc">get loc2val map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00259">AbstractState.h:259</a></div></div>
@@ -91,7 +91,7 @@ $(function() {
91
91
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a9b5e58476c372570551da971d22c5c02">_recursiveFuns</a></td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
92
92
  <tr><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a75e493e6b9db3e29428794432d293bc2">_stat</a></td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
93
93
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a618fc324a6c205d7e1b471bd850377a9">_svfir</a></td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
94
- <tr><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#af78f068a373ebb6a2f14dcde980a9dae">_svfir2ExeState</a></td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
94
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a9c592b91a1e3d72ada730387232a2fcf">_svfir2AbsState</a></td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
95
95
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a4080994b793d9510c00cb3a0260e0a61">AbstractInterpretation</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"></td></tr>
96
96
  <tr><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a048e203517ac727e6fe0653e1f24052c">AccessMemoryViaCallArgs</a>(const SVF::SVFArgument *arg, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
97
97
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html#a550c12360c2149ba0e55bdf4cf7b8dd0">AccessMemoryViaCopyStmt</a>(const CopyStmt *copy, SVF::FILOWorkList&lt; const SVFValue * &gt; &amp;worklist, Set&lt; const SVFValue * &gt; &amp;visited)</td><td class="entry"><a class="el" href="classSVF_1_1AbstractInterpretation.html">SVF::AbstractInterpretation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>