| Package | Description |
|---|---|
| com.ibm.wala.analysis.pointers |
This package defines utilities to help navigate pointer analysis results.
|
| com.ibm.wala.demandpa.alg | |
| com.ibm.wala.demandpa.flowgraph | |
| com.ibm.wala.demandpa.util | |
| com.ibm.wala.ipa.callgraph.propagation |
This package provides the base layer for propagation-based call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.callgraph.propagation.cfa |
This package provides RTA call graph
construction.
|
| com.ibm.wala.ipa.callgraph.propagation.rta |
This package provides CFA-style call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.modref |
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
HeapGraphImpl.getHeapModel() |
HeapModel |
HeapGraph.getHeapModel() |
| Modifier and Type | Field and Description |
|---|---|
protected HeapModel |
AbstractDemandPointsTo.heapModel |
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
IDemandPointerAnalysis.getHeapModel() |
HeapModel |
AbstractDemandPointsTo.getHeapModel() |
| Modifier and Type | Method and Description |
|---|---|
static DemandRefinementPointsTo |
DemandRefinementPointsTo.makeWithDefaultFlowGraph(CallGraph cg,
HeapModel model,
MemoryAccessMap mam,
IClassHierarchy cha,
AnalysisOptions options,
StateMachineFactory<IFlowLabel> stateMachineFactory)
create a demand points-to analysis runner
|
| Constructor and Description |
|---|
AbstractDemandPointsTo(CallGraph cg,
HeapModel model,
MemoryAccessMap mam,
IClassHierarchy cha,
AnalysisOptions options) |
SimpleDemandPointsTo(CallGraph cg,
HeapModel model,
MemoryAccessMap fam,
IClassHierarchy cha,
AnalysisOptions options) |
| Modifier and Type | Field and Description |
|---|---|
protected HeapModel |
AbstractFlowGraph.heapModel |
| Modifier and Type | Method and Description |
|---|---|
protected HeapModel |
SimpleDemandPointerFlowGraph.getHeapModel() |
| Modifier and Type | Method and Description |
|---|---|
static PointerKey |
AbstractFlowGraph.convertPointerKeyToHeapModel(PointerKey pk,
HeapModel h)
convert a pointer key to one in the memory access map's heap model
TODO move this somewhere more appropriate
|
static DemandPointerFlowGraph.NewMultiDimInfo |
DemandPointerFlowGraph.getInfoForNewMultiDim(SSANewInstruction instruction,
HeapModel heapModel,
CGNode node)
collect information about the new instructions and putfield instructions used to model an allocation of a multi-dimensional
array.
|
| Constructor and Description |
|---|
AbstractDemandFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
IClassHierarchy cha) |
AbstractFlowGraph(MemoryAccessMap mam,
HeapModel heapModel,
IClassHierarchy cha,
CallGraph cg) |
DemandPointerFlowGraph.StatementVisitor(HeapModel heapModel,
IFlowGraph g,
IClassHierarchy cha,
CallGraph cg,
CGNode node) |
DemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
IClassHierarchy cha) |
DemandValueFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
ClassHierarchy cha) |
SimpleDemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap fam,
IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
SimpleMemoryAccessMap.getHeapModel() |
HeapModel |
PABasedMemoryAccessMap.getHeapModel() |
HeapModel |
MemoryAccessMap.getHeapModel()
get the heap model used in this memory access map
|
| Modifier and Type | Method and Description |
|---|---|
static InstanceKey |
CallGraphMapUtil.mapInstKey(InstanceKey ik,
CallGraph fromCG,
CallGraph toCG,
HeapModel heapModel) |
static PointerKey |
CallGraphMapUtil.mapPointerKey(PointerKey pk,
CallGraph fromCG,
CallGraph toCG,
HeapModel heapModel) |
| Constructor and Description |
|---|
SimpleMemoryAccessMap(CallGraph cg,
HeapModel heapModel,
boolean includePrimOps) |
| Modifier and Type | Class and Description |
|---|---|
protected class |
PointerAnalysisImpl.HModel |
class |
SSAPropagationCallGraphBuilder
This abstract base class provides the general algorithm for a call graph builder that relies on propagation through an iterative
dataflow solver, and constraints generated by statements in SSA form.
|
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
PointerAnalysisImpl.getHeapModel() |
HeapModel |
PointerAnalysis.getHeapModel() |
protected HeapModel |
PointerAnalysisImpl.makeHeapModel() |
| Modifier and Type | Method and Description |
|---|---|
InstanceKey[] |
SSAPropagationCallGraphBuilder.getInvariantContents(SymbolTable symbolTable,
DefUse du,
CGNode node,
int valueNumber,
HeapModel hm)
precondition:contentsAreInvariant(valueNumber)
|
protected InstanceKey[] |
SSAPropagationCallGraphBuilder.getInvariantContents(SymbolTable symbolTable,
DefUse du,
CGNode node,
int valueNumber,
HeapModel hm,
boolean ensureIndexes) |
| Modifier and Type | Class and Description |
|---|---|
class |
nCFABuilder
nCFA Call graph builder.
|
class |
ZeroXCFABuilder
0-1-CFA Call graph builder, optimized to not disambiguate instances of "uninteresting" types.
|
class |
ZeroXContainerCFABuilder
0-X-CFA Call graph builder which analyzes calls to "container methods" in a context which is defined by the receiver instance.
|
| Modifier and Type | Class and Description |
|---|---|
class |
TypeBasedHeapModel
A trivial field-based heap model, which only uses the information of which types (classes) are live.
|
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
TypeBasedPointerAnalysis.getHeapModel() |
| Modifier and Type | Interface and Description |
|---|---|
interface |
ExtendedHeapModel
An extension of a heap model that returns a
PointerKey to represent an array length field |
| Modifier and Type | Class and Description |
|---|---|
class |
DelegatingExtendedHeapModel
An implementation of
ExtendedHeapModel based on a
normal HeapModel |
| Constructor and Description |
|---|
DelegatingExtendedHeapModel(HeapModel h) |
Copyright © 2015. All rights reserved.