public class FlowDroidMemoryManager extends Object implements IMemoryManager<Abstraction,soot.Unit>
| 限定符和类型 | 类和说明 |
|---|---|
static class |
FlowDroidMemoryManager.PathDataErasureMode
Supported modes that define which path tracking data shall be erased and
which shall be kept
|
| 构造器和说明 |
|---|
FlowDroidMemoryManager()
Constructs a new instance of the AccessPathManager class
|
FlowDroidMemoryManager(boolean tracingEnabled,
FlowDroidMemoryManager.PathDataErasureMode erasePathData)
Constructs a new instance of the AccessPathManager class
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
erasePathData(Abstraction output)
Erases the statements recorded in the given abstraction if the solver has
been configured to do so
|
int |
getReuseCount()
Gets the number of access paths that have been re-used through caching
|
Abstraction |
handleGeneratedMemoryObject(Abstraction input,
Abstraction output)
Tells the memory manager to optimize the given generated object.
|
Abstraction |
handleMemoryObject(Abstraction obj)
Tells the memory manager to handle the given object.
|
boolean |
isEssentialJoinPoint(Abstraction abs,
soot.Unit relatedCallSite)
Checks whether the given abstraction at the given call site is essential
and must be kept.
|
void |
setUseAbstractionCache(boolean useAbstractionCache)
Sets whether the memory manager shall use the abstraction cache
|
public FlowDroidMemoryManager()
public FlowDroidMemoryManager(boolean tracingEnabled,
FlowDroidMemoryManager.PathDataErasureMode erasePathData)
tracingEnabled - True if performance tracing data shall be recordederasePathData - Specifies whether data for tracking paths (current
statement, corresponding call site) shall be erased.public int getReuseCount()
public Abstraction handleMemoryObject(Abstraction obj)
IMemoryManagerhandleMemoryObject 在接口中 IMemoryManager<Abstraction,soot.Unit>obj - The object to handlepublic Abstraction handleGeneratedMemoryObject(Abstraction input, Abstraction output)
IMemoryManagerhandleGeneratedMemoryObject 在接口中 IMemoryManager<Abstraction,soot.Unit>input - The original input to the flow functionoutput - The output of the flow functionprotected void erasePathData(Abstraction output)
output - The abstraction to optimizepublic void setUseAbstractionCache(boolean useAbstractionCache)
useAbstractionCache - True if the abstraction cache shall be used,
otherwise falsepublic boolean isEssentialJoinPoint(Abstraction abs, soot.Unit relatedCallSite)
IMemoryManagerisEssentialJoinPoint 在接口中 IMemoryManager<Abstraction,soot.Unit>abs - The abstractionrelatedCallSite - The call site over which the abstraction is being
propagatedCopyright © 2022 Fraunhofer SIT. All rights reserved.