[Soot-list] running Junit with tests

Arzt, Steven steven.arzt at sit.fraunhofer.de
Tue Jun 6 14:52:56 EDT 2017


Hi Dragos,

Soot 2.5 is pretty old by now, i.e., several years. Please use the nightly builds instead. Furthermore, Jasmin is not the best choice as a backend. With the newer Soot builds, you can provide the -asm-backend command-line parameter to use our much newer ASM-based backend instead.

Best regards,
  Steven

-----Original Message-----
From: Soot-list [mailto:soot-list-bounces at cs.mcgill.ca] On Behalf Of Dragos Bontea
Sent: Thursday, June 1, 2017 1:32 PM
To: soot-list at sable.mcgill.ca
Subject: [Soot-list] running Junit with tests

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
_______________________________________________
Soot-list mailing list
Soot-list at CS.McGill.CA
https://mailman.CS.McGill.CA/mailman/listinfo/soot-list


More information about the Soot-list mailing list