public class PABasedMemoryAccessMap extends Object implements MemoryAccessMap
MemoryAccessMap
that makes use of a pre-computed
PointerAnalysis
to reduce the number of considered accesses.Constructor and Description |
---|
PABasedMemoryAccessMap(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
PABasedMemoryAccessMap(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
Map<Statement,Set<PointerKey>> mod,
Map<Statement,Set<PointerKey>> ref) |
PABasedMemoryAccessMap(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
SDG sdg) |
Modifier and Type | Method and Description |
---|---|
Collection<MemoryAccess> |
getArrayReads(PointerKey arrayRef) |
Collection<MemoryAccess> |
getArrayWrites(PointerKey arrayRef) |
Collection<MemoryAccess> |
getFieldReads(PointerKey baseRef,
IField field) |
Collection<MemoryAccess> |
getFieldWrites(PointerKey baseRef,
IField field) |
HeapModel |
getHeapModel()
get the heap model used in this memory access map
|
Collection<MemoryAccess> |
getStaticFieldReads(IField field) |
Collection<MemoryAccess> |
getStaticFieldWrites(IField field) |
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa)
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, SDG sdg)
public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis<InstanceKey> pa, Map<Statement,Set<PointerKey>> mod, Map<Statement,Set<PointerKey>> ref)
public Collection<MemoryAccess> getArrayReads(PointerKey arrayRef)
getArrayReads
in interface MemoryAccessMap
public Collection<MemoryAccess> getArrayWrites(PointerKey arrayRef)
getArrayWrites
in interface MemoryAccessMap
public Collection<MemoryAccess> getFieldReads(PointerKey baseRef, IField field)
getFieldReads
in interface MemoryAccessMap
public Collection<MemoryAccess> getFieldWrites(PointerKey baseRef, IField field)
getFieldWrites
in interface MemoryAccessMap
public Collection<MemoryAccess> getStaticFieldReads(IField field)
getStaticFieldReads
in interface MemoryAccessMap
public Collection<MemoryAccess> getStaticFieldWrites(IField field)
getStaticFieldWrites
in interface MemoryAccessMap
public HeapModel getHeapModel()
MemoryAccessMap
getHeapModel
in interface MemoryAccessMap