TaintAnalysis icon indicating copy to clipboard operation
TaintAnalysis copied to clipboard

isses when upgrading soot version from current one to 4.50 or higher

Open DongjieHe opened this issue 9 months ago • 0 comments

When upgrading soot to a newer version and running the test cases (saying "Assignment" in TaintAnalysisTest.java), the following exception is thrown:

Exception in thread "Thread-9" java.lang.AssertionError: Statement this := @this: target.taint.internal.SourceClass not in unit-to-owner mapping
	at soot.jimple.toolkits.ide.icfg.AbstractJimpleBasedICFG.getBodyOf(AbstractJimpleBasedICFG.java:103)
	at soot.jimple.toolkits.ide.icfg.AbstractJimpleBasedICFG.isExitStmt(AbstractJimpleBasedICFG.java:152)
	at soot.jimple.toolkits.ide.icfg.AbstractJimpleBasedICFG.isExitStmt(AbstractJimpleBasedICFG.java:51)
	at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:897)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1575)

I notice that the type of the unitToOwner in AbstractJimpleBasedICFG was changed from LinkedHashMap (soot 4.2.1) to ConcurrentHashMap (soot 4.5.0), but I could not figure out why this change causes the errors above.

DongjieHe avatar Apr 17 '25 07:04 DongjieHe