Skip to content

Runtime Exception because Soot could not find a method #19

@akshayutture

Description

@akshayutture

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions