<div dir="ltr">Hi there.<div><br></div><div> I am using soot and spark to do some points to analysis. It throws exception when i turn off the local splitter. Here is the options I have:</div><div><br></div><div>







<p class=""><span class="">        </span>soot.options.Options.v().set_keep_line_number(<span class="">true</span>);</p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().set_whole_program(<span class="">true</span>);</p>
<p class=""><span class="">        </span><span class="">        </span></p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().setPhaseOption(<span class="">&quot;cg&quot;</span>,<span class="">&quot;verbose:true&quot;</span>);</p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().setPhaseOption(<span class="">&quot;cg.spark&quot;</span>,<span class="">&quot;enabled:true&quot;</span>);</p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().setPhaseOption(<span class="">&quot;jb&quot;</span>,<span class="">&quot;enabled:true&quot;</span>);</p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().setPhaseOption(<span class="">&quot;jb&quot;</span>,<span class="">&quot;use-original-names:true&quot;</span>);</p>
<p class=""><span class="">        </span><span class="">        </span>soot.options.Options.v().setPhaseOption(<span class="">&quot;<a href="http://jb.ls">jb.ls</a>&quot;</span>,<span class="">&quot;enabled:false&quot;</span>);</p><p class=""><br></p><p class="">Here is the exception:</p><p class=""><span class="">java.lang.Exception</span>: null typing passed to useChecker</p><p class=""><span class="">        </span>at soot.jimple.toolkits.typing.fast.UseChecker.check(<span class="">UseChecker.java:50</span>)</p><p class=""><span class="">        </span>at soot.jimple.toolkits.typing.fast.TypeResolver.insertCasts(<span class="">TypeResolver.java:345</span>)</p><p class=""><span class="">        </span>at soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(<span class="">TypeResolver.java:124</span>)</p><p class=""><span class="">        </span>at soot.jimple.toolkits.typing.TypeAssigner.internalTransform(<span class="">TypeAssigner.java:101</span>)</p><p class=""><span class="">        </span>at soot.BodyTransformer.transform(<span class="">BodyTransformer.java:51</span>)</p><p class=""><span class="">        </span>at soot.Transform.apply(<span class="">Transform.java:104</span>)</p><p class=""><span class="">        </span>at soot.JimpleBodyPack.applyPhaseOptions(<span class="">JimpleBodyPack.java:66</span>)</p><p class=""><span class="">        </span>at soot.JimpleBodyPack.internalApply(<span class="">JimpleBodyPack.java:89</span>)</p><p class=""><span class="">        </span>at soot.Pack.apply(<span class="">Pack.java:124</span>)</p><p class=""><span class="">        </span>at soot.coffi.CoffiMethodSource.getBody(<span class="">CoffiMethodSource.java:117</span>)</p><p class=""><span class="">        </span>at soot.SootMethod.getBodyFromMethodSource(<span class="">SootMethod.java:89</span>)</p><p class=""><span class="">        </span>at soot.SootMethod.retrieveActiveBody(<span class="">SootMethod.java:322</span>)</p><p class=""><span class="">        </span>at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(<span class="">OnFlyCallGraphBuilder.java:531</span>)</p><p class=""><span class="">        </span>at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(<span class="">OnFlyCallGraphBuilder.java:426</span>)</p><p class=""><span class="">        </span>at soot.jimple.spark.solver.OnFlyCallGraph.build(<span class="">OnFlyCallGraph.java:55</span>)</p><p class=""><span class="">        </span>at soot.jimple.spark.builder.ContextInsensitiveBuilder.build(<span class="">ContextInsensitiveBuilder.java:77</span>)</p><p class=""><span class="">        </span>at soot.jimple.spark.SparkTransformer.internalTransform(<span class="">SparkTransformer.java:84</span>)</p><p class=""><span class="">        </span>at soot.SceneTransformer.transform(<span class="">SceneTransformer.java:39</span>)</p><p class="">



























</p><p class=""><span class="">        </span>at SPARKExample.main(<span class="">SPARKExample.java:92</span>)</p><p class=""><br></p><p class="">I also notice that if I disable local splitter in soot eclipse plugin, I can not run it under the whole program mode. The eclipse just quite straight away.</p><p class="">Any idea?</p><p class="">Thanks </p><p class="">Li</p></div></div>