svf-tools 1.0.891 → 1.0.892
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +451 -450
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +11 -11
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +150 -147
- package/SVF-doxygen/html/AccessPath_8h_source.html +6 -6
- package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +426 -425
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +43 -44
- package/SVF-doxygen/html/ICFGWTO_8h_source.html +4 -4
- package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +6 -6
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +575 -577
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +21 -21
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ObjTypeInference_8cpp.html +1 -1
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +828 -827
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WTO_8h.html +1 -0
- package/SVF-doxygen/html/WTO_8h_source.html +812 -811
- package/SVF-doxygen/html/ae_8cpp.html +46 -47
- package/SVF-doxygen/html/ae_8cpp_source.html +46 -47
- package/SVF-doxygen/html/classSVF_1_1AEAPI.html +432 -431
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +136 -133
- package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +82 -81
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFGSimplification.html +43 -44
- package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +792 -791
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1WTO.html +253 -253
- package/SVF-doxygen/html/classSVF_1_1WTOComponent.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1WTOCycle.html +61 -61
- package/SVF-doxygen/html/classSVF_1_1WTOCycleDepth.html +115 -115
- package/SVF-doxygen/html/classSVF_1_1WTONode.html +31 -31
- package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder.html +31 -31
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +503 -505
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1has__edgetype.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1has__edgetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1EdgeType_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1has__nodetype.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1has__nodetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1NodeType_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +12 -12
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +12 -12
- package/package.json +1 -1
- package/svf/include/Graphs/WTO.h +1 -0
- package/svf/lib/AE/Svfexe/AbstractExecution.cpp +1 -0
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +1 -0
- package/svf/lib/AE/Svfexe/ICFGSimplification.cpp +1 -2
- package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +1 -0
- package/svf/lib/MemoryModel/AccessPath.cpp +4 -1
- package/svf-llvm/lib/LLVMUtil.cpp +1 -2
- package/svf-llvm/lib/SVFIRBuilder.cpp +1 -1
- package/svf-llvm/tools/AE/ae.cpp +1 -2
|
@@ -137,53 +137,52 @@ Variables</h2></td></tr>
|
|
|
137
137
|
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  arg_value[arg_num] = argv[arg_num];</div>
|
|
138
138
|
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  }</div>
|
|
139
139
|
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="comment">// add extra options</span></div>
|
|
140
|
-
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordtype">
|
|
141
|
-
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-
|
|
142
|
-
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-
|
|
143
|
-
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> 
|
|
144
|
-
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> 
|
|
145
|
-
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> 
|
|
146
|
-
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> 
|
|
147
|
-
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> 
|
|
148
|
-
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> 
|
|
149
|
-
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> 
|
|
150
|
-
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="
|
|
151
|
-
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> 
|
|
152
|
-
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> 
|
|
153
|
-
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> 
|
|
154
|
-
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> 
|
|
155
|
-
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> 
|
|
156
|
-
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> 
|
|
157
|
-
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  </div>
|
|
158
|
-
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <a class="code" href="
|
|
159
|
-
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="
|
|
160
|
-
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="
|
|
161
|
-
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="
|
|
162
|
-
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> 
|
|
163
|
-
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> 
|
|
164
|
-
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> 
|
|
165
|
-
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> 
|
|
166
|
-
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> 
|
|
167
|
-
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> 
|
|
168
|
-
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> 
|
|
169
|
-
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  </div>
|
|
170
|
-
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> 
|
|
171
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> 
|
|
172
|
-
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> 
|
|
173
|
-
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  ae.<a class="code" href="
|
|
174
|
-
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> 
|
|
175
|
-
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> 
|
|
176
|
-
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> 
|
|
177
|
-
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> 
|
|
178
|
-
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> 
|
|
179
|
-
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#
|
|
180
|
-
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> 
|
|
181
|
-
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> 
|
|
182
|
-
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> 
|
|
183
|
-
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> 
|
|
184
|
-
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  </div>
|
|
185
|
-
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> 
|
|
186
|
-
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
|
|
140
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-consts=true"</span>;</div>
|
|
141
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-arrays=true"</span>;</div>
|
|
142
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-pre-field-sensitive=false"</span>;</div>
|
|
143
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  assert(arg_num == (argc + extraArgc) && <span class="stringliteral">"more extra arguments? Change the value of extraArgc"</span>);</div>
|
|
144
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  </div>
|
|
145
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  std::vector<std::string> moduleNameVec;</div>
|
|
146
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div>
|
|
147
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  arg_num, arg_value, <span class="stringliteral">"Static Symbolic Execution"</span>, <span class="stringliteral">"[options] <input-bitcode...>"</span></div>
|
|
148
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  );</div>
|
|
149
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keyword">delete</span>[] arg_value;</div>
|
|
150
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">if</span> (<a class="code" href="ae_8cpp.html#acf883aea11ed083025935a7257b5967d">SYMABS</a>())</div>
|
|
151
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  {</div>
|
|
152
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <a class="code" href="classSymblicAbstractionTest.html">SymblicAbstractionTest</a> saTest;</div>
|
|
153
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  saTest.<a class="code" href="classSymblicAbstractionTest.html#a66155c2b52131a7782382d8e5da560fc">testsValidation</a>();</div>
|
|
154
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">return</span> 0;</div>
|
|
155
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  }</div>
|
|
156
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  </div>
|
|
157
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a> *svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);</div>
|
|
158
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div>
|
|
159
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div>
|
|
160
|
+
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div>
|
|
161
|
+
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div>
|
|
162
|
+
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  builder.updateCallGraph(callgraph);</div>
|
|
163
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5a00682b75726cacc1b4d88bbf40c824">updateCallGraph</a>(callgraph);</div>
|
|
164
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">if</span> (Options::ICFGMergeAdjacentNodes())</div>
|
|
165
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  {</div>
|
|
166
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  ICFGSimplification::mergeAdjacentNodes(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
167
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  }</div>
|
|
168
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  </div>
|
|
169
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">if</span> (Options::BufferOverflowCheck())</div>
|
|
170
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  {</div>
|
|
171
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a> ae;</div>
|
|
172
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  ae.<a class="code" href="classSVF_1_1BufOverflowChecker.html#a4787d2e56aa374763656b7942f0ed52f">initExtAPI</a>();</div>
|
|
173
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#ac848658bb3069193b1c7b08199b3d4c7">runOnModule</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
174
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  }</div>
|
|
175
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">else</span></div>
|
|
176
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  {</div>
|
|
177
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a> ae;</div>
|
|
178
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#a4bf7be47ddc0ba53ec4a5e87f300763f">initExtAPI</a>();</div>
|
|
179
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#ac848658bb3069193b1c7b08199b3d4c7">runOnModule</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
180
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  }</div>
|
|
181
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  </div>
|
|
182
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  LLVMModuleSet::releaseLLVMModuleSet();</div>
|
|
183
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  </div>
|
|
184
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordflow">return</span> 0;</div>
|
|
185
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
|
|
187
186
|
</div><!-- fragment -->
|
|
188
187
|
</div>
|
|
189
188
|
</div>
|
|
@@ -702,53 +702,52 @@ $(function() {
|
|
|
702
702
|
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  arg_value[arg_num] = argv[arg_num];</div>
|
|
703
703
|
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  }</div>
|
|
704
704
|
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="comment">// add extra options</span></div>
|
|
705
|
-
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordtype">
|
|
706
|
-
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-
|
|
707
|
-
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-
|
|
708
|
-
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> 
|
|
709
|
-
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> 
|
|
710
|
-
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> 
|
|
711
|
-
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> 
|
|
712
|
-
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> 
|
|
713
|
-
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> 
|
|
714
|
-
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> 
|
|
715
|
-
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="
|
|
716
|
-
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> 
|
|
717
|
-
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> 
|
|
718
|
-
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> 
|
|
719
|
-
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> 
|
|
720
|
-
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> 
|
|
721
|
-
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> 
|
|
722
|
-
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  </div>
|
|
723
|
-
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <a class="code" href="
|
|
724
|
-
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">
|
|
725
|
-
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="
|
|
726
|
-
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="
|
|
727
|
-
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> 
|
|
728
|
-
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> 
|
|
729
|
-
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> 
|
|
730
|
-
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> 
|
|
731
|
-
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> 
|
|
732
|
-
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> 
|
|
733
|
-
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> 
|
|
734
|
-
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  </div>
|
|
735
|
-
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> 
|
|
736
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> 
|
|
737
|
-
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> 
|
|
738
|
-
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  ae.<a class="code" href="
|
|
739
|
-
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> 
|
|
740
|
-
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> 
|
|
741
|
-
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> 
|
|
742
|
-
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> 
|
|
743
|
-
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> 
|
|
744
|
-
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#
|
|
745
|
-
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> 
|
|
746
|
-
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> 
|
|
747
|
-
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  </div>
|
|
748
|
-
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> 
|
|
749
|
-
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  </div>
|
|
750
|
-
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> 
|
|
751
|
-
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div>
|
|
705
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-consts=true"</span>;</div>
|
|
706
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-model-arrays=true"</span>;</div>
|
|
707
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  arg_value[arg_num++] = (<span class="keywordtype">char</span>*) <span class="stringliteral">"-pre-field-sensitive=false"</span>;</div>
|
|
708
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  assert(arg_num == (argc + extraArgc) && <span class="stringliteral">"more extra arguments? Change the value of extraArgc"</span>);</div>
|
|
709
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  </div>
|
|
710
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  std::vector<std::string> moduleNameVec;</div>
|
|
711
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div>
|
|
712
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  arg_num, arg_value, <span class="stringliteral">"Static Symbolic Execution"</span>, <span class="stringliteral">"[options] <input-bitcode...>"</span></div>
|
|
713
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  );</div>
|
|
714
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keyword">delete</span>[] arg_value;</div>
|
|
715
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">if</span> (<a class="code" href="ae_8cpp.html#acf883aea11ed083025935a7257b5967d">SYMABS</a>())</div>
|
|
716
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  {</div>
|
|
717
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <a class="code" href="classSymblicAbstractionTest.html">SymblicAbstractionTest</a> saTest;</div>
|
|
718
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  saTest.<a class="code" href="classSymblicAbstractionTest.html#a66155c2b52131a7782382d8e5da560fc">testsValidation</a>();</div>
|
|
719
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">return</span> 0;</div>
|
|
720
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  }</div>
|
|
721
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  </div>
|
|
722
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a> *svfModule = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#ae919327019b5014f64b754dbdeb07f75">buildSVFModule</a>(moduleNameVec);</div>
|
|
723
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div>
|
|
724
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#a5ecf1deb5646ccb46b0b3101417f4689">build</a>();</div>
|
|
725
|
+
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(pag);</div>
|
|
726
|
+
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div>
|
|
727
|
+
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#a22bd51c6fe770d179867342164ec2767">updateCallGraph</a>(callgraph);</div>
|
|
728
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5a00682b75726cacc1b4d88bbf40c824">updateCallGraph</a>(callgraph);</div>
|
|
729
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a76555ba4522accb66d9d38b700e203e0">Options::ICFGMergeAdjacentNodes</a>())</div>
|
|
730
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  {</div>
|
|
731
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <a class="code" href="classSVF_1_1ICFGSimplification.html#afaea7e3622ee5341a3f28135a2ae8644">ICFGSimplification::mergeAdjacentNodes</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
732
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  }</div>
|
|
733
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  </div>
|
|
734
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#afbe432aabda95308e2c190a04d227a6d">Options::BufferOverflowCheck</a>())</div>
|
|
735
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  {</div>
|
|
736
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a> ae;</div>
|
|
737
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  ae.<a class="code" href="classSVF_1_1BufOverflowChecker.html#a4787d2e56aa374763656b7942f0ed52f">initExtAPI</a>();</div>
|
|
738
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#ac848658bb3069193b1c7b08199b3d4c7">runOnModule</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
739
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  }</div>
|
|
740
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">else</span></div>
|
|
741
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  {</div>
|
|
742
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <a class="code" href="classSVF_1_1AbstractExecution.html">AbstractExecution</a> ae;</div>
|
|
743
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#a4bf7be47ddc0ba53ec4a5e87f300763f">initExtAPI</a>();</div>
|
|
744
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  ae.<a class="code" href="classSVF_1_1AbstractExecution.html#ac848658bb3069193b1c7b08199b3d4c7">runOnModule</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>());</div>
|
|
745
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  }</div>
|
|
746
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  </div>
|
|
747
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">LLVMModuleSet::releaseLLVMModuleSet</a>();</div>
|
|
748
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  </div>
|
|
749
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordflow">return</span> 0;</div>
|
|
750
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> }</div>
|
|
752
751
|
</div><!-- fragment --></div><!-- contents -->
|
|
753
752
|
<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#l00113">AbstractExecution.h:113</a></div></div>
|
|
754
753
|
<div class="ttc" id="aclassSymblicAbstractionTest_html_a40b9879a5465f960bbd4fad6654304aa"><div class="ttname"><a href="classSymblicAbstractionTest.html#a40b9879a5465f960bbd4fad6654304aa">SymblicAbstractionTest::testRelExeState2_2</a></div><div class="ttdeci">void testRelExeState2_2()</div><div class="ttdef"><b>Definition:</b> <a href="ae_8cpp_source.html#l00214">ae.cpp:214</a></div></div>
|