<div dir="ltr"><div>Hi,</div><div><br></div><div>When I run FlowDroid on an app (whose APK is here: <a href="https://drive.google.com/file/d/0B9KLXcAovVUHRVdaM0t1R01BaHM/view?usp=sharing">https://drive.google.com/file/d/0B9KLXcAovVUHRVdaM0t1R01BaHM/view?usp=sharing</a>), I get the following error. I&#39;m using recent version of Soot (February 25, 2015) and FlowDroid (February 23, 2015). This issue also seems to have been raised elsewhere (Issue #358 in Github, Sable/Soot, type of throw statement is bottom_type when it should be an actual type). Do you know how I can get around this problem? Thanks.</div><div><br></div><div><div>Exception in thread &quot;main&quot; java.lang.IllegalStateException: UnitThrowAnalysis StmtSwitch: type of throw argument is not a RefType! It seems that the type of the processed throw statement is bottom_type instead of an actual type</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.exceptions.AbstractThrowAnalysis.mightThrowExplicitly(AbstractThrowAnalysis.java:65)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.exceptions.UnitThrowAnalysis$UnitSwitch.caseThrowStmt(UnitThrowAnalysis.java:706)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.internal.JThrowStmt.apply(JThrowStmt.java:70)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.exceptions.UnitThrowAnalysis.mightThrow(UnitThrowAnalysis.java:241)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.graph.ExceptionalUnitGraph.getExceptionDests(ExceptionalUnitGraph.java:800)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.graph.ExceptionalUnitGraph.buildHeadsAndTails(ExceptionalUnitGraph.java:763)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.graph.ExceptionalUnitGraph.initialize(ExceptionalUnitGraph.java:293)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.graph.ExceptionalUnitGraph.&lt;init&gt;(ExceptionalUnitGraph.java:159)</div><div><span class="" style="white-space:pre">        </span>at soot.toolkits.graph.ExceptionalUnitGraph.&lt;init&gt;(ExceptionalUnitGraph.java:193)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.toolkits.base.Aggregator.internalAggregate(Aggregator.java:103)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.toolkits.base.Aggregator.internalTransform(Aggregator.java:86)</div><div><span class="" style="white-space:pre">        </span>at soot.BodyTransformer.transform(BodyTransformer.java:51)</div><div><span class="" style="white-space:pre">        </span>at soot.BodyTransformer.transform(BodyTransformer.java:58)</div><div><span class="" style="white-space:pre">        </span>at soot.BodyTransformer.transform(BodyTransformer.java:63)</div><div><span class="" style="white-space:pre">        </span>at soot.dexpler.DexBody.jimplify(DexBody.java:628)</div><div><span class="" style="white-space:pre">        </span>at soot.dexpler.DexMethod$1.getBody(DexMethod.java:150)</div><div><span class="" style="white-space:pre">        </span>at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:91)</div><div><span class="" style="white-space:pre">        </span>at soot.SootMethod.retrieveActiveBody(SootMethod.java:322)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:529)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:420)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.spark.solver.OnFlyCallGraph.build(OnFlyCallGraph.java:55)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.spark.solver.PropWorklist.handleVarNode(PropWorklist.java:122)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.spark.solver.PropWorklist.propagate(PropWorklist.java:52)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.spark.SparkTransformer.internalTransform(SparkTransformer.java:152)</div><div><span class="" style="white-space:pre">        </span>at soot.SceneTransformer.transform(SceneTransformer.java:39)</div><div><span class="" style="white-space:pre">        </span>at soot.Transform.apply(Transform.java:90)</div><div><span class="" style="white-space:pre">        </span>at soot.RadioScenePack.internalApply(RadioScenePack.java:57)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:49)</div><div><span class="" style="white-space:pre">        </span>at soot.Pack.apply(Pack.java:116)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(SetupApplication.java:352)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:272)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:240)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Test.java:505)</div><div><span class="" style="white-space:pre">        </span>at soot.jimple.infoflow.android.TestApps.Test.main(Test.java:208)</div></div><div><br></div><div><br></div><div><br></div></div>