You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I am currently updating/extending the Soot TaintAnalysis framework.
When I try to run the analysis, i encounter an error where it says that a unit is missing from the statement to owner list in the icfg, even though that unit should be part of the owner list, as Heros manages to load the active body of the method later in the analysis. This does not happen in the version 4.2.1 of soot.
I added the compiled and to-be-analyzed class files.
I am interested in a taint analysis starting from target.taint.Assignment 's main method, which uses a class from another package.
The missing unit is the statement this := @this: target.taint.internal.SourceClass from the target.taint.internal.SourceClass <init> method.
Expected behavior
As heros is able to load the method body of the target.taint.internal.SourceClass methods, i expect a unit-to-owner mapping to exist in the icfg.
Stacktrace
Exception in thread "Thread-8" 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:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
java.util.concurrent.RejectedExecutionException: Task heros.solver.IDESolver$PathEdgeProcessingTask@58c67daa rejected from heros.solver.CountingThreadPoolExecutor@412414b2[Shutting down, pool size = 11, active threads = 2, queued tasks = 0, completed tasks = 9]
at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2065)
at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:833)
at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1365)
at heros.solver.CountingThreadPoolExecutor.execute(CountingThreadPoolExecutor.java:51)
at heros.solver.IDESolver.scheduleEdgeProcessing(IDESolver.java:286)
at heros.solver.IDESolver.propagate(IDESolver.java:651)
at heros.solver.IDESolver.processCall(IDESolver.java:362)
at heros.solver.IDESolver.access$000(IDESolver.java:68)
at heros.solver.IDESolver$PathEdgeProcessingTask.run(IDESolver.java:893)
The text was updated successfully, but these errors were encountered:
Describe the bug
I am currently updating/extending the Soot TaintAnalysis framework.
When I try to run the analysis, i encounter an error where it says that a unit is missing from the statement to owner list in the icfg, even though that unit should be part of the owner list, as Heros manages to load the active body of the method later in the analysis. This does not happen in the version 4.2.1 of soot.
I added the compiled and to-be-analyzed class files.
I am interested in a taint analysis starting from
target.taint.Assignment
's main method, which uses a class from another package.The missing unit is the statement
this := @this: target.taint.internal.SourceClass
from thetarget.taint.internal.SourceClass <init>
method.Input file
target.zip
To reproduce
I am using:
SootOptions when loading the file into the scene:
Then I register the transformer
Within the
createAnalysisTransformer()
the icfg is constructed:Expected behavior
As heros is able to load the method body of the target.taint.internal.SourceClass methods, i expect a unit-to-owner mapping to exist in the icfg.
Stacktrace
The text was updated successfully, but these errors were encountered: