You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to use the numerical analysis provided by Jandom in a research project and I am getting an ArrayOutOfBoundsException when analyzing methods with more than 0 parameters (including some of the examples that come with Jimple).
I am getting the error on two different computers running Windows 10 and Ubuntu 18.04 respectively, both using JDK 8. I am using the master branch of Jandom. My Jimple configuration (which can be used for reproducing the bug), using the GUI is as follows:
Tool: Soot (in the context menu).
Editor tab:
IR Type: Jimple
Analysis type: Numerical (Object also fails)
Class: NumericalTest
Method: void arraylimit(int)
Parameters tab:
Domain: BoxDouble (I tried all of them but Octagon)
Object Domain: Aliasing
Widening Scope: Localized
Narrowing Strategy: Separate
Widening Delay: [blank]
Debug: unchecked
This is the stack trace of the exception I'm getting on the SBT console:
[error] java.lang.ArrayIndexOutOfBoundsException: 3
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.jimpleExprToLinearForm$1(JimpleMethod.scala:55)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.jimpleExprToLinearCond$1(JimpleMethod.scala:82)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.analyzeCond$1(JimpleMethod.scala:124)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.$anonfun$analyzeBlock$8(JimpleMethod.scala:281)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.$anonfun$analyzeBlock$8$adapted(JimpleMethod.scala:237)
[error] at scala.collection.Iterator.foreach(Iterator.scala:929)
[error] at scala.collection.Iterator.foreach$(Iterator.scala:929)
[error] at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
[error] at scala.collection.IterableLike.foreach(IterableLike.scala:71)
[error] at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
[error] at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.analyzeBlock(JimpleMethod.scala:237)
[error] at it.unich.jandom.targets.jvmsoot.JimpleMethod.analyzeBlock(JimpleMethod.scala:39)
[error] at it.unich.jandom.targets.cfg.ControlFlowGraph.analyzeFromAnnotation(ControlFlowGraph.scala:133)
[error] at it.unich.jandom.targets.cfg.ControlFlowGraph.analyze(ControlFlowGraph.scala:118)
[error] at it.unich.jandom.ui.gui.SootEditorPane.analyze(SootEditorPane.scala:224)
[error] at it.unich.jandom.ui.gui.MainFrame$$anon$8.apply(MainFrame.scala:93)
[error] at scala.swing.Action$$anon$1.actionPerformed(Action.scala:78)
[error] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
[error] at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
[error] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
[error] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
[error] at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
[error] at java.awt.Component.processMouseEvent(Component.java:6539)
[error] at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
[error] at java.awt.Component.processEvent(Component.java:6304)
[error] at java.awt.Container.processEvent(Container.java:2239)
[error] at java.awt.Component.dispatchEventImpl(Component.java:4889)
[error] at java.awt.Container.dispatchEventImpl(Container.java:2297)
[error] at java.awt.Component.dispatchEvent(Component.java:4711)
[error] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
[error] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
[error] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
[error] at java.awt.Container.dispatchEventImpl(Container.java:2283)
[error] at java.awt.Window.dispatchEventImpl(Window.java:2746)
[error] at java.awt.Component.dispatchEvent(Component.java:4711)
[error] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
[error] at java.awt.EventQueue.access$500(EventQueue.java:97)
[error] at java.awt.EventQueue$3.run(EventQueue.java:709)
[error] at java.awt.EventQueue$3.run(EventQueue.java:703)
[error] at java.security.AccessController.doPrivileged(Native Method)
[error] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
[error] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
[error] at java.awt.EventQueue$4.run(EventQueue.java:733)
[error] at java.awt.EventQueue$4.run(EventQueue.java:731)
[error] at java.security.AccessController.doPrivileged(Native Method)
[error] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
[error] at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
[error] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
[error] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[error] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[error] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[error] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[error] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The text was updated successfully, but these errors were encountered:
Dear Mehmet,
thanks for reporting this bug and sorry for the late answer. A long time has passed since the last time I worked on the Jimple analyzer, so I needed time to study my own code!! The problem you reported should be fixed by now. In the meantime, I found other methods which are not analyzed correctly, and I am working on fixing them, too.
Unfortunately, the Soot analyzer is mostly unfinished. But now that I am up to par with my previous work, I am very interested in fixing bug and making it work effectively. So, if you are still interested in using Jandom, do not hesitate to contact me.
Hi,
I want to use the numerical analysis provided by Jandom in a research project and I am getting an ArrayOutOfBoundsException when analyzing methods with more than 0 parameters (including some of the examples that come with Jimple).
I am getting the error on two different computers running Windows 10 and Ubuntu 18.04 respectively, both using JDK 8. I am using the master branch of Jandom. My Jimple configuration (which can be used for reproducing the bug), using the GUI is as follows:
Tool: Soot (in the context menu).
Editor tab:
Parameters tab:
This is the stack trace of the exception I'm getting on the SBT console:
The text was updated successfully, but these errors were encountered: