TaintAnalysis
TaintAnalysis copied to clipboard
isses when upgrading soot version from current one to 4.50 or higher
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.