public class BatchPathBuilder extends AbstractAbstractionPathBuilder
IAbstractionPathBuilder.OnPathBuilderResultAvailableIMemoryBoundedSolver.IMemoryBoundedSolverStatusNotification| 限定符和类型 | 字段和说明 |
|---|---|
protected int |
batchSize |
protected IAbstractionPathBuilder |
innerBuilder |
protected ISolverTerminationReason |
terminationReason |
logger, manager, pathConfig, resultAvailableHandlers| 构造器和说明 |
|---|
BatchPathBuilder(InfoflowManager manager,
IAbstractionPathBuilder innerBuilder) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addStatusListener(IMemoryBoundedSolver.IMemoryBoundedSolverStatusNotification listener)
Adds a new listener that will be notified of status changes in the solver
|
void |
computeTaintPaths(Set<AbstractionAtSink> res)
Computes the path of tainted data between the source and the sink
|
void |
forceTerminate(ISolverTerminationReason reason)
Forces the solver to terminate its tasks and stop processing new tasks.
|
InfoflowResults |
getResults()
Gets the constructed result paths
|
ISolverTerminationReason |
getTerminationReason()
In case this solver was killed before it could complete its task, this
method returns the reason for the abortion.
|
boolean |
isKilled()
Checks whether this solver was killed before it could complete its tasks
|
boolean |
isTerminated()
Checks whether this solver is terminated, either by forced termination,
or because it has finished all of its work.
|
void |
reset()
Resets the solver to its initial state after it has been forcefully
terminated.
|
void |
runIncrementalPathCompuation()
Incrementally runs the path builder after some paths have already been
computed.
|
void |
setBatchSize(int batchSize)
Sets the number of paths that shall be part of one batch, i.e., that shall be
forwarded to the inner path builder at the same time
|
addResultAvailableHandlerprotected final IAbstractionPathBuilder innerBuilder
protected int batchSize
protected ISolverTerminationReason terminationReason
public BatchPathBuilder(InfoflowManager manager, IAbstractionPathBuilder innerBuilder)
public void computeTaintPaths(Set<AbstractionAtSink> res)
IAbstractionPathBuilderres - The data flow tracker resultspublic InfoflowResults getResults()
IAbstractionPathBuilderpublic void runIncrementalPathCompuation()
IAbstractionPathBuilderpublic void forceTerminate(ISolverTerminationReason reason)
IMemoryBoundedSolverreason - The reason why the solver is terminatedpublic boolean isTerminated()
IMemoryBoundedSolverpublic boolean isKilled()
IMemoryBoundedSolverpublic ISolverTerminationReason getTerminationReason()
IMemoryBoundedSolverpublic void reset()
IMemoryBoundedSolverpublic void addStatusListener(IMemoryBoundedSolver.IMemoryBoundedSolverStatusNotification listener)
IMemoryBoundedSolverlistener - The listener that will be notified when the status of the
solver changespublic void setBatchSize(int batchSize)
batchSize - The number of paths in one batchCopyright © 2022 Fraunhofer SIT. All rights reserved.