I use daikon Chicory to perform invariant discovery, but encounters java.lang.VerifyError

I am learning how to use daikon.Chicory to do some invariant discovery. But in the java-examples part, I encounter this error after this command

java daikon.Chicory --daikon DataStructures.StackArTester 

I use cygwin shell on windows 7.

 -ea -Xmx128M -javaagent:C:\cygwin\home\Will\daikonparent\daikon\java\ChicoryPremain.jar=--daikon --dtrace-file=StackArTester.dtrace.gz DataStructures.StackArTester entered daikon.chicory.Runtime.setDtrace(.\StackArTester.dtrace.gz, false)... java.lang.VerifyError: StackMapTable error: bad offset in method DataStructures.StackArTester.push(I)V at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) at java.lang.Class.getMethod0(Class.java:2685) at java.lang.Class.getMethod(Class.java:1620) at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:492) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:484) Chicory warning: no records were printed Exception in thread "main" Warning: Did not run Daikon because target exited with 1 status 
+4
source share
1 answer

As mentioned in the comments, it is required that .class files must be generated / compiled to target a specific version of Java or JVM, version 5

This is what I did to make it work:

 javac -g -source 5 -target 5 DataStructures/*.java java daikon.Chicory --daikon DataStructures.StackArTester 

Happy testing!

+2
source

Source: https://habr.com/ru/post/1436466/


All Articles