public class ContextSensitivePathBuilder extends ConcurrentAbstractionPathBuilder
ContextInsensitivePathBuilder, but also a bit slower.| 限定符和类型 | 类和说明 |
|---|---|
protected class |
ContextSensitivePathBuilder.SourceFindingTask
Task for tracking back the path from sink to source.
|
IAbstractionPathBuilder.OnPathBuilderResultAvailableIMemoryBoundedSolver.IMemoryBoundedSolverStatusNotification| 限定符和类型 | 字段和说明 |
|---|---|
protected ConcurrentIdentityHashMultiMap<Abstraction,SourceContextAndPath> |
pathCache |
executor, resultslogger, manager, pathConfig, resultAvailableHandlers| 构造器和说明 |
|---|
ContextSensitivePathBuilder(InfoflowManager manager)
Creates a new instance of the
ContextSensitivePathBuilder class |
| 限定符和类型 | 方法和说明 |
|---|---|
protected boolean |
checkForSource(Abstraction abs,
SourceContextAndPath scap)
Checks whether the given abstraction is a source.
|
void |
computeTaintPaths(Set<AbstractionAtSink> res)
Computes the path of tainted data between the source and the sink
|
InfoflowResults |
getResults()
Gets the constructed result paths
|
protected Runnable |
getTaintPathTask(AbstractionAtSink abs)
Gets the task that computes the result paths for a single abstraction.
|
protected void |
onTaintPathsComputed()
Method that is called when the taint paths have been computed
|
void |
runIncrementalPathCompuation()
Incrementally runs the path builder after some paths have already been
computed.
|
void |
shutdown()
Terminates the internal executor and cleans up all resources that were used
|
protected boolean |
triggerComputationForNeighbors()
Specifies whether the class shall create separate path reconstruction tasks
for the neighbors of the abstractions that arrive at the sink
|
addStatusListener, forceTerminate, getTerminationReason, isKilled, isTerminated, reset, scheduleDependentTaskaddResultAvailableHandlerprotected ConcurrentIdentityHashMultiMap<Abstraction,SourceContextAndPath> pathCache
public ContextSensitivePathBuilder(InfoflowManager manager)
ContextSensitivePathBuilder classmanager - The data flow manager that gives access to the icfg and other
objectsprotected boolean checkForSource(Abstraction abs, SourceContextAndPath scap)
abs - The abstraction to checkscap - The path leading up to the current abstractionpublic void runIncrementalPathCompuation()
IAbstractionPathBuilderpublic void computeTaintPaths(Set<AbstractionAtSink> res)
IAbstractionPathBuildercomputeTaintPaths 在接口中 IAbstractionPathBuildercomputeTaintPaths 在类中 ConcurrentAbstractionPathBuilderres - The data flow tracker resultsprotected void onTaintPathsComputed()
public void shutdown()
protected Runnable getTaintPathTask(AbstractionAtSink abs)
ConcurrentAbstractionPathBuildergetTaintPathTask 在类中 ConcurrentAbstractionPathBuilderabs - The abstraction for which to compute the result pathspublic InfoflowResults getResults()
IAbstractionPathBuildergetResults 在接口中 IAbstractionPathBuildergetResults 在类中 ConcurrentAbstractionPathBuilderprotected boolean triggerComputationForNeighbors()
ConcurrentAbstractionPathBuildertriggerComputationForNeighbors 在类中 ConcurrentAbstractionPathBuilderCopyright © 2022 Fraunhofer SIT. All rights reserved.