<div dir="auto"><div dir="ltr"><div>Hi,</div><div><br></div><div>I am trying to run an IFDS example using Heros on a test program, but I am struggling with it. I am running this on the terminal where I have the sootclasses-trunk-jar-with-dependencies.jar ( Nightly build - June 1 version) and Hello.class (which just prints Hello) in my working directory.</div><div><br></div><div><span style="font-family:monospace,monospace"> java -cp sootclasses-trunk-jar-with-dependencies.jar soot.jimple.toolkits.ide.Main -w -cp .:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar Hello -pp<br></span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:arial,helvetica,sans-serif">The javac version is</span><span style="font-family:monospace,monospace"> 1.8.0_171 </span><span style="font-family:arial,helvetica,sans-serif">and java(run time) version is</span><span style="font-family:monospace,monospace"> 1.8.0_171. Hello.java<font face="arial,helvetica,sans-serif"> has the following code:</font></span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif"><br></font></span></div><div><span style="font-family:monospace,monospace">public class Hello{<br>    public static void main(String args[]){<br>        System.out.println("Hello");<br>    }<br>}<br></span></div><div><br></div><div>The error is as follows:</div><div><br></div><div><span style="font-family:monospace,monospace">[Thread-1] ERROR heros.solver.CountingThreadPoolExecutor - Worker thread execution failed: Index: 0, Size: 0<br>java.lang.IndexOutOfBoundsException: Index: 0, Size: 0<br>    at java.util.ArrayList.rangeCheck(ArrayList.java:657)<br>    at java.util.ArrayList.get(ArrayList.java:433)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:167)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:161)<br>    at heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)<br>    at heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:426)<br>    at heros.solver.IDESolver.processCall(IDESolver.java:355)<br>    at heros.solver.IDESolver.access$000(IDESolver.java:69)<br>    at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:894)<br>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br>    at java.lang.Thread.run(Thread.java:748)<br>Exception in thread "Thread-1" java.lang.RuntimeException: There were exceptions during IDE analysis. Exiting.<br>    at heros.solver.IDESolver.runExecutorAndAwaitCompletion(IDESolver.java:274)<br>    at heros.solver.IDESolver.awaitCompletionComputeValuesAndShutdown(IDESolver.java:243)<br>    at heros.solver.IDESolver.solve(IDESolver.java:217)<br>    at soot.jimple.toolkits.ide.JimpleIFDSSolver.solve(JimpleIFDSSolver.java:57)<br>    at soot.jimple.toolkits.ide.Main$1.internalTransform(Main.java:49)<br>    at soot.SceneTransformer.transform(SceneTransformer.java:39)<br>    at soot.Transform.apply(Transform.java:105)<br>    at soot.ScenePack.internalApply(ScenePack.java:38)<br>    at soot.Pack.apply(Pack.java:120)<br>    at soot.PackManager.runWholeProgramPacks(PackManager.java:608)<br>    at soot.PackManager.runPacksNormally(PackManager.java:492)<br>    at soot.PackManager.runPacks(PackManager.java:416)<br>    at soot.Main.run(Main.java:272)<br>    at soot.Main.main(Main.java:144)<br>    at soot.jimple.toolkits.ide.Main.main(Main.java:53)<br>Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0<br>    at java.util.ArrayList.rangeCheck(ArrayList.java:657)<br>    at java.util.ArrayList.get(ArrayList.java:433)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:167)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:161)<br>    at heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)<br>    at heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:426)<br>    at heros.solver.IDESolver.processCall(IDESolver.java:355)<br>    at heros.solver.IDESolver.access$000(IDESolver.java:69)<br>    at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:894)<br>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br>    at java.lang.Thread.run(Thread.java:748)<br>java.lang.IndexOutOfBoundsException: Index: 0, Size: 0<br>    at java.util.ArrayList.rangeCheck(ArrayList.java:657)<br>    at java.util.ArrayList.get(ArrayList.java:433)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:167)<br>    at soot.jimple.toolkits.ide.exampleproblems.IFDSPossibleTypes$1$3.computeTargets(IFDSPossibleTypes.java:161)<br>    at heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)<br>    at heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:426)<br>    at heros.solver.IDESolver.processCall(IDESolver.java:355)<br>    at heros.solver.IDESolver.access$000(IDESolver.java:69)<br>    at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:894)<br>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br>    at java.lang.Thread.run(Thread.java:748)</span><br><br></div><div><br></div><div>Can anyone let me know what I am doing wrong?<br></div></div></div>