[Soot-list] running Junit with tests

Dragos Bontea bontea.dragos at yahoo.com
Thu Jun 1 07:31:43 EDT 2017


Hello,

I've been working on creating tests using Junit for an application that uses soot 2.5.0.
The app is designed to perform AD over java .class files.

The problem I've encountered is when trying to run multiple tests chained.

this is a stack trace for a failed test

java.lang.RuntimeException: Invalid argument type for mul

	at soot.jimple.JasminClass$7$6.defaultCase(JasminClass.java:2098)
	at soot.TypeSwitch.caseUnknownType(TypeSwitch.java:91)
	at soot.UnknownType.apply(UnknownType.java:59)
	at soot.jimple.JasminClass$7.caseMulExpr(JasminClass.java:2068)
	at soot.grimp.internal.GMulExpr.apply(GMulExpr.java:43)
	at soot.jimple.JasminClass.emitValue(JasminClass.java:1619)
	at soot.jimple.JasminClass$7.caseAddExpr(JasminClass.java:1624)
	at soot.grimp.internal.GAddExpr.apply(GAddExpr.java:43)
	at soot.jimple.JasminClass.emitValue(JasminClass.java:1619)
	at soot.jimple.JasminClass$7.caseMulExpr(JasminClass.java:2066)
	at soot.grimp.internal.GMulExpr.apply(GMulExpr.java:43)
	at soot.jimple.JasminClass.emitValue(JasminClass.java:1619)
	at soot.jimple.JasminClass$1$2.caseDoubleType(JasminClass.java:683)
	at soot.DoubleType.apply(DoubleType.java:60)
	at soot.jimple.JasminClass$1.caseLocal(JasminClass.java:634)
	at soot.jimple.internal.JimpleLocal.apply(JimpleLocal.java:132)
	at soot.jimple.JasminClass.emitAssignStmt(JasminClass.java:553)
	at soot.jimple.JasminClass$5.caseAssignStmt(JasminClass.java:1246)
	at soot.jimple.internal.JAssignStmt.apply(JAssignStmt.java:221)
	at soot.jimple.JasminClass.emitStmt(JasminClass.java:1242)
	at soot.jimple.JasminClass.emitMethodBody(JasminClass.java:487)
	at soot.AbstractJasminClass.emitMethod(AbstractJasminClass.java:697)
	at soot.AbstractJasminClass.<init>(AbstractJasminClass.java:576)
	at soot.jimple.JasminClass.<init>(JasminClass.java:63)
	at soot.PackManager.writeClass(PackManager.java:880)
	at soot.PackManager.writeOutput(PackManager.java:475)
	at soot.PackManager.writeOutput(PackManager.java:400)
	at soot.Main.run(Main.java:199)
	at soot.Main.main(Main.java:141)

The problem doesn't appear when trying to run the particular test individually, it passes fine.

Basically, running some tests for simple things will pass if ran individually, but chained, most of them
will fail the error above. I should mention that I'm using G.reset() after each test.

I don't know whether this is the right way to ask for a solution but I've been searching google for soot issues
and conversations via this email have been popping and decided to give it a shot.

If this is the right way to "log" an issue, thank you for your time. 

Best regards,
	Dragos


More information about the Soot-list mailing list