[Soot-list] IFDSReachingDefinitions
Octav Chipara
ochipara at gmail.com
Fri Apr 10 13:01:52 EDT 2015
Eric,
Thanks for the quick reply. The method is:
<sun.security.action.GetPropertyAction: java.lang.Object run()>
The exception is thrown in SootMethod:266 asking for argument 0 that does
not exist.
-- Octav
PS: I modified my -cp path to explicitly include the rt.jar and jce.jar
from jdk7. Should I use it with jdk6?
On Friday, April 10, 2015 at 11:57:30 AM UTC-5, Bodden, Eric wrote:
>
> Hmm, this is odd.
>
> This looks like you are processing a call site for which the call site
> itself has actually an argument while the resolved callee method does not.
> Can you set a breakpoint or add a println to see which method call Soot
> processes when throwing the exception?
>
> Cheers,
> Eric
>
> > On 10.04.2015, at 18:37, ochi... at gmail.com <javascript:> wrote:
> >
> > Hi,
> >
> > I am trying to run the IFDSReachingDefinitions analysis on a trivial
> example. However, I am getting the exception included below. I suspect that
> this is an issue with how I configure soot. I have to apologize if the
> question is naive, I am just getting started with soot.
> >
> > Thanks,
> > — Octav
> >
> > [Thread-1] ERROR heros.solver.IDESolver - Worker thread execution
> failed: Index: 0, Size: 0
> > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> > at java.util.ArrayList.rangeCheck(ArrayList.java:635)
> > at java.util.ArrayList.get(ArrayList.java:411)
> > at
> java.util.Collections$UnmodifiableList.get(Collections.java:1211)
> > at soot.SootMethod.getParameterType(SootMethod.java:266)
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:111)
>
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:1)
>
> > at
> heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)
>
> > at
> heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:397)
> > at heros.solver.IDESolver.processCall(IDESolver.java:330)
> > at heros.solver.IDESolver.access$0(IDESolver.java:313)
> > at
> heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:856)
> > at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> > at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
> > at java.lang.Thread.run(Thread.java:744)
> > Exception in thread "Thread-1" java.lang.InterruptedException
> > at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:996)
>
> > at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>
> > at heros.solver.CountLatch.awaitZero(CountLatch.java:75)
> > at
> heros.solver.CountingThreadPoolExecutor.awaitCompletion(CountingThreadPoolExecutor.java:79)
>
> > at
> heros.solver.IDESolver.runExecutorAndAwaitCompletion(IDESolver.java:258)
> > at
> heros.solver.IDESolver.awaitCompletionComputeValuesAndShutdown(IDESolver.java:233)
>
> > at heros.solver.IDESolver.solve(IDESolver.java:207)
> > at
> soot.jimple.toolkits.ide.JimpleIFDSSolver.solve(JimpleIFDSSolver.java:54)
> > at
> ReachingDefinitions$1.internalTransform(ReachingDefinitions.java:40)
> > at soot.SceneTransformer.transform(SceneTransformer.java:39)
> > at soot.Transform.apply(Transform.java:90)
> > at soot.ScenePack.internalApply(ScenePack.java:40)
> > at soot.Pack.apply(Pack.java:116)
> > at soot.PackManager.runWholeProgramPacks(PackManager.java:564)
> > at soot.PackManager.runPacksNormally(PackManager.java:456)
> > at soot.PackManager.runPacks(PackManager.java:391)
> > at soot.Main.run(Main.java:244)
> > at soot.Main.main(Main.java:152)
> > at ReachingDefinitions.main(ReachingDefinitions.java:46)
> > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> > at java.util.ArrayList.rangeCheck(ArrayList.java:635)
> > at java.util.ArrayList.get(ArrayList.java:411)
> > at
> java.util.Collections$UnmodifiableList.get(Collections.java:1211)
> > at soot.SootMethod.getParameterType(SootMethod.java:266)
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:111)
>
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:1)
>
> > at
> heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)
>
> > at
> heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:397)
> > at heros.solver.IDESolver.processCall(IDESolver.java:330)
> > at heros.solver.IDESolver.access$0(IDESolver.java:313)
> > at
> heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:856)
> > at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> > at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
> > at java.lang.Thread.run(Thread.java:744)
> > java.lang.RuntimeException: There were exceptions during IDE analysis.
> Exiting.
> > at
> heros.solver.IDESolver.runExecutorAndAwaitCompletion(IDESolver.java:264)
> > at
> heros.solver.IDESolver.awaitCompletionComputeValuesAndShutdown(IDESolver.java:233)
>
> > at heros.solver.IDESolver.solve(IDESolver.java:207)
> > at
> soot.jimple.toolkits.ide.JimpleIFDSSolver.solve(JimpleIFDSSolver.java:54)
> > at
> ReachingDefinitions$1.internalTransform(ReachingDefinitions.java:40)
> > at soot.SceneTransformer.transform(SceneTransformer.java:39)
> > at soot.Transform.apply(Transform.java:90)
> > at soot.ScenePack.internalApply(ScenePack.java:40)
> > at soot.Pack.apply(Pack.java:116)
> > at soot.PackManager.runWholeProgramPacks(PackManager.java:564)
> > at soot.PackManager.runPacksNormally(PackManager.java:456)
> > at soot.PackManager.runPacks(PackManager.java:391)
> > at soot.Main.run(Main.java:244)
> > at soot.Main.main(Main.java:152)
> > at ReachingDefinitions.main(ReachingDefinitions.java:46)
> > Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> > at java.util.ArrayList.rangeCheck(ArrayList.java:635)
> > at java.util.ArrayList.get(ArrayList.java:411)
> > at
> java.util.Collections$UnmodifiableList.get(Collections.java:1211)
> > at soot.SootMethod.getParameterType(SootMethod.java:266)
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:111)
>
> > at
> soot.jimple.toolkits.ide.exampleproblems.IFDSReachingDefinitions$1$2.computeTargets(IFDSReachingDefinitions.java:1)
>
> > at
> heros.ZeroedFlowFunctions$ZeroedFlowFunction.computeTargets(ZeroedFlowFunctions.java:58)
>
> > at
> heros.solver.IDESolver.computeCallFlowFunction(IDESolver.java:397)
> > at heros.solver.IDESolver.processCall(IDESolver.java:330)
> > at heros.solver.IDESolver.access$0(IDESolver.java:313)
> > at
> heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:856)
> > at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> > at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
> > at java.lang.Thread.run(Thread.java:744)
> >
> >
> > _______________________________________________
> > Soot-list mailing list
> > Soot... at CS.McGill.CA <javascript:>
> > https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>
> --
> Prof. Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
> Head of Secure Software Engineering at Fraunhofer SIT, TU Darmstadt and EC
> SPRIDE
> Tel: +49 6151 16-75422 Fax: +49 6151 869-127
> Room B5.11, Fraunhofer SIT, Rheinstraße 75, 64295 Darmstadt
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150410/969866cc/attachment-0002.html
More information about the Soot-list
mailing list