I ran Averroes on the NJR dataset, and it crashes for approximately 60 of 293 benchmarks.
Here is a sample Jar file for which it crashes.
https://drive.google.com/file/d/1-YaqC0epGlt8pDF2yrqMW78SI2WFfC6s/view?usp=sharing
Here is the command used to run Averroes
java -jar averroes/build/libs/averroes-all-1.0-SNAPSHOT.jar -a input.jar -j /usr/lib/jvm/java-8-openjdk-amd64/jre -o output2 -m nui.squirt.demo.DemoSquirtApplication -r "WiiMoteTest:WiiMoteTest$1:WiiMoteTest$2:WiiMoteTest$Particle:WiiMoteTest$ParticleSystem:nui.squirt.Actionable:nui.squirt.Component:nui.squirt.Container:nui.squirt.ControlPoint:nui.squirt.ControlPointListener:nui.squirt.Keyboard:nui.squirt.NUIController:nui.squirt.NUIController$SquirtPApplet:nui.squirt.TextInput:nui.squirt.Valuable:nui.squirt.component.AbstractActionable:nui.squirt.component.AbstractComponent:nui.squirt.component.AbstractContainer:nui.squirt.component.AbstractValuable:nui.squirt.component.Button:nui.squirt.component.Circle:nui.squirt.component.Frame:nui.squirt.component.Image:nui.squirt.component.Knob:nui.squirt.component.Label:nui.squirt.component.PhysicsCircle:nui.squirt.component.PhysicsComponent:nui.squirt.component.PhysicsRectangle:nui.squirt.component.Rectangle:nui.squirt.component.Slider:nui.squirt.component.TextField:nui.squirt.controlpoint.AbstractControlPoint:nui.squirt.controlpoint.MouseControlPoint:nui.squirt.controlpoint.TUIOControlPoint:nui.squirt.demo.DemoSquirtApplication:nui.squirt.demo.DemoSquirtApplication$1:nui.squirt.demo.DemoSquirtApplication$SlidingSlider:nui.squirt.demo.DemoSquirtApplication$SpinningRectangle:nui.squirt.demo.DemoSquirtApplication$SpinningScalingImage:nui.squirt.demo.DemoSquirtApplication$ValueLabel:nui.squirt.event.ActionEvent:nui.squirt.event.Event:nui.squirt.event.KeyEvent:nui.squirt.event.TextEvent:nui.squirt.event.ValueEvent:nui.squirt.listener.ActionListener:nui.squirt.listener.KeyListener:nui.squirt.listener.TextListener:nui.squirt.listener.ValueListener"
Here is the Averroes output
Organizing the JAR files...
Processing input archive: /home/akshayutture/projects/averroes_trial/input.jar
Processing library archive: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar
Processing library archive: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar
Processing library archive: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar
# application classes: 39
# library classes: 21357
Loading classes...
Soot loaded the input classes in 1.02 seconds.
Creating the class hierarchy for the placeholder library...
# initial application classes: 39
# initial library classes: 114
# initial library methods: 3480
# initial library fields: 1183
# referenced library methods: 117
# referenced library fields: 28
Cleaning up the class hierarchy...
# removed library methods: 3151
# removed library fields: 1155
# final library methods: 359
# final library fields: 28
Generating extra library classes...
# generated library classes: 4
# generated library methods: 11
Creating the skeleton for Averroes's main library class...
Generating the method bodies for the placeholder library classes ...
java.lang.RuntimeException: No method void <init>() in class nui.squirt.component.Rectangle
at soot.SootClass.getMethod(SootClass.java:373)
at soot.SootClass.getMethod(SootClass.java:414)
at averroes.soot.Hierarchy.getDirectSuperclassDefaultConstructor(Hierarchy.java:531)
at averroes.soot.AverroesJimpleBody.insertStandardJimpleBodyHeader(AverroesJimpleBody.java:139)
at averroes.soot.AverroesJimpleBody.createBasicJimpleBody(AverroesJimpleBody.java:117)
at averroes.soot.AverroesJimpleBody.<init>(AverroesJimpleBody.java:87)
at averroes.soot.CodeGenerator.createJimpleBody(CodeGenerator.java:303)
at averroes.soot.CodeGenerator.createLibraryMethodBodies(CodeGenerator.java:276)
at averroes.Main.main(Main.java:130)
I ran Averroes on the NJR dataset, and it crashes for approximately 60 of 293 benchmarks.
Here is a sample Jar file for which it crashes.
https://drive.google.com/file/d/1-YaqC0epGlt8pDF2yrqMW78SI2WFfC6s/view?usp=sharing
Here is the command used to run Averroes
Here is the Averroes output