| Package | Description |
|---|---|
| com.ibm.wala.analysis.pointers |
This package defines utilities to help navigate pointer analysis results.
|
| com.ibm.wala.cfg.exc | |
| com.ibm.wala.cfg.exc.inter | |
| com.ibm.wala.client |
This package provides interfaces for some base utilities for use by WALA clients.
|
| com.ibm.wala.dataflow.IFDS |
This package provides an RHS solver for IFDS problems.
|
| com.ibm.wala.demandpa.alg | |
| com.ibm.wala.demandpa.flowgraph | |
| com.ibm.wala.demandpa.util | |
| com.ibm.wala.escape | |
| com.ibm.wala.ipa.callgraph |
This package provides basic interfaces and functions for call graph
construction.
|
| com.ibm.wala.ipa.callgraph.cha | |
| com.ibm.wala.ipa.callgraph.impl |
This package provides some implementations of basic functions needed for
various call graph construction algorithms.
|
| 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.rta |
This package provides CFA-style call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.callgraph.pruned | |
| com.ibm.wala.ipa.cfg |
This package supports interprocedural control-flow graphs, and control-flow
graphs specialized for context.
|
| com.ibm.wala.ipa.modref | |
| com.ibm.wala.ipa.slicer | |
| com.ibm.wala.ipa.slicer.thin | |
| com.ibm.wala.viz.viewer |
| Constructor and Description |
|---|
BasicHeapGraph(PointerAnalysis<InstanceKey> P,
CallGraph callGraph) |
| Modifier and Type | Method and Description |
|---|---|
static InterprocAnalysisResult<SSAInstruction,IExplodedBasicBlock> |
NullPointerAnalysis.computeInterprocAnalysis(CallGraph cg,
com.ibm.wala.util.MonitorUtil.IProgressMonitor progress) |
static InterprocAnalysisResult<SSAInstruction,IExplodedBasicBlock> |
NullPointerAnalysis.computeInterprocAnalysis(TypeReference[] ignoredExceptions,
CallGraph cg,
MethodState defaultExceptionMethodState,
com.ibm.wala.util.MonitorUtil.IProgressMonitor progress) |
static InterprocAnalysisResult<SSAInstruction,IExplodedBasicBlock> |
NullPointerAnalysis.computeInterprocAnalysis(TypeReference[] ignoredExceptions,
CallGraph cg,
MethodState defaultExceptionMethodState,
com.ibm.wala.util.MonitorUtil.IProgressMonitor progress,
boolean optHasExceptions) |
| Modifier and Type | Method and Description |
|---|---|
static InterprocNullPointerAnalysis |
InterprocNullPointerAnalysis.compute(TypeReference[] ignoredExceptions,
CallGraph cg,
MethodState defaultMethodState,
com.ibm.wala.util.MonitorUtil.IProgressMonitor progress,
boolean optHasExceptions) |
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
AbstractAnalysisEngine.cg
Governing call graph
|
| Modifier and Type | Method and Description |
|---|---|
CallGraph |
AbstractAnalysisEngine.buildDefaultCallGraph() |
protected CallGraph |
AbstractAnalysisEngine.getCallGraph() |
| Modifier and Type | Method and Description |
|---|---|
static ICFGSupergraph |
ICFGSupergraph.make(CallGraph cg,
AnalysisCache cache) |
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
AbstractDemandPointsTo.cg |
| Modifier and Type | Method and Description |
|---|---|
CallGraph |
IDemandPointerAnalysis.getBaseCallGraph() |
CallGraph |
AbstractDemandPointsTo.getBaseCallGraph() |
| 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 CallGraph |
AbstractFlowGraph.cg |
| 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 |
|---|---|
static CGNode |
CallGraphMapUtil.mapCGNode(CGNode orig,
CallGraph fromCG,
CallGraph toCG)
map a call graph node from one call graph to the corresponding node in another.
|
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 |
|---|
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) |
SimpleMemoryAccessMap(CallGraph cg,
HeapModel heapModel,
boolean includePrimOps) |
| Constructor and Description |
|---|
FILiveObjectAnalysis(CallGraph callGraph,
HeapGraph heapGraph,
boolean expensiveIntraproceduralAnalysis) |
TrivialMethodEscape(CallGraph cg,
HeapGraph hg) |
| Modifier and Type | Method and Description |
|---|---|
CallGraph |
CallGraphBuilderCancelException.getPartialCallGraph() |
CallGraph |
CallGraphBuilder.makeCallGraph(AnalysisOptions options,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Build a call graph.
|
| Modifier and Type | Method and Description |
|---|---|
static Set<MethodReference> |
CallGraphStats.collectMethods(CallGraph cg)
Walk the call graph and return the set of MethodReferences that appear in the graph.
|
static <T> Map<CGNode,Collection<T>> |
CallGraphTransitiveClosure.collectNodeResults(CallGraph cg,
com.ibm.wala.util.functions.Function<CGNode,Collection<T>> nodeResultComputer)
|
static int |
CallGraphStats.countBytecodeBytes(CallGraph cg) |
static CallGraphBuilderCancelException |
CallGraphBuilderCancelException.createCallGraphBuilderCancelException(Exception cause,
CallGraph cg,
PointerAnalysis<InstanceKey> pointerAnalysis) |
static CallGraphBuilderCancelException |
CallGraphBuilderCancelException.createCallGraphBuilderCancelException(String msg,
CallGraph cg,
PointerAnalysis<InstanceKey> pointerAnalysis) |
static CallGraphStats.CGStats |
CallGraphStats.getCGStats(CallGraph cg) |
static String |
CallGraphStats.getStats(CallGraph cg) |
static <T> Map<CGNode,com.ibm.wala.util.intset.OrdinalSet<T>> |
CallGraphTransitiveClosure.transitiveClosure(CallGraph cg,
Map<CGNode,Collection<T>> nodeResults)
Compute the transitive closure of an analysis result over all callees.
|
| Modifier and Type | Class and Description |
|---|---|
class |
CHACallGraph |
| Modifier and Type | Class and Description |
|---|---|
class |
BasicCallGraph<T>
Basic data structure support for a call graph.
|
class |
ExplicitCallGraph
A call graph which explicitly holds the target for each call site in each node.
|
class |
PartialCallGraph
a view of a portion of a call graph.
|
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
PartialCallGraph.cg |
| Modifier and Type | Method and Description |
|---|---|
static PartialCallGraph |
PartialCallGraph.make(CallGraph cg,
Collection<CGNode> partialRoots) |
static PartialCallGraph |
PartialCallGraph.make(CallGraph cg,
Collection<CGNode> partialRoots,
Collection<CGNode> nodes) |
| Constructor and Description |
|---|
PartialCallGraph(CallGraph cg,
Collection<CGNode> partialRoots,
com.ibm.wala.util.graph.Graph<CGNode> partialGraph) |
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
PropagationSystem.cg
Governing call graph;
|
| Modifier and Type | Method and Description |
|---|---|
protected CallGraph |
AbstractPointerAnalysis.getCallGraph() |
CallGraph |
PropagationCallGraphBuilder.makeCallGraph(AnalysisOptions options) |
CallGraph |
PropagationCallGraphBuilder.makeCallGraph(AnalysisOptions options,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
| Modifier and Type | Method and Description |
|---|---|
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
StringConstantCharArray.getCreationSites(CallGraph CG) |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
SmushedAllocationSiteInNode.getCreationSites(CallGraph CG) |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
InstanceKey.getCreationSites(CallGraph CG)
Get the creation sites of
this, i.e., the statements that may
allocate objects represented by this. |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
ConstantKey.getCreationSites(CallGraph CG) |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
ConcreteTypeKey.getCreationSites(CallGraph CG) |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
AllocationSiteInNode.getCreationSites(CallGraph CG) |
Iterator<com.ibm.wala.util.collections.Pair<CGNode,NewSiteReference>> |
AllocationSite.getCreationSites(CallGraph CG) |
| Constructor and Description |
|---|
AbstractPointerAnalysis(CallGraph cg,
com.ibm.wala.util.intset.MutableMapping<InstanceKey> instanceKeys) |
PointerAnalysisImpl(PropagationCallGraphBuilder builder,
CallGraph cg,
PointsToMap pointsToMap,
com.ibm.wala.util.intset.MutableMapping<InstanceKey> instanceKeys,
PointerKeyFactory pointerKeys,
InstanceKeyFactory iKeyFactory) |
PropagationSystem(CallGraph cg,
PointerKeyFactory pointerKeyFactory,
InstanceKeyFactory instanceKeyFactory) |
| Modifier and Type | Class and Description |
|---|---|
class |
DelegatingExplicitCallGraph
A call graph implementation where some edges are delegated to other
call sites, since they are guaranteed to be the same.
|
| Modifier and Type | Method and Description |
|---|---|
static TypeBasedPointerAnalysis |
TypeBasedPointerAnalysis.make(AnalysisOptions options,
Collection<IClass> klasses,
CallGraph cg) |
| Constructor and Description |
|---|
TypeBasedHeapModel(AnalysisOptions options,
Collection<IClass> klasses,
CallGraph cg) |
| Modifier and Type | Class and Description |
|---|---|
class |
PrunedCallGraph |
| Constructor and Description |
|---|
CallGraphPruning(CallGraph cg) |
PrunedCallGraph(CallGraph cg,
Set<CGNode> keep) |
| Modifier and Type | Method and Description |
|---|---|
CallGraph |
AbstractInterproceduralCFG.getCallGraph() |
| Modifier and Type | Method and Description |
|---|---|
static ExplodedInterproceduralCFG |
ExplodedInterproceduralCFG.make(CallGraph cg) |
| Constructor and Description |
|---|
AbstractInterproceduralCFG(CallGraph cg)
Build an Interprocedural CFG from a call graph.
|
AbstractInterproceduralCFG(CallGraph CG,
com.ibm.wala.util.Predicate<CGNode> relevant)
Build an Interprocedural CFG from a call graph.
|
ExplodedInterproceduralCFG(CallGraph cg) |
ExplodedInterproceduralCFG(CallGraph cg,
com.ibm.wala.util.Predicate<CGNode> filter) |
InterproceduralCFG(CallGraph CG) |
InterproceduralCFG(CallGraph cg,
com.ibm.wala.util.collections.Filtersection<CGNode> filtersection) |
| Modifier and Type | Method and Description |
|---|---|
static ModRefFieldAccess |
ModRefFieldAccess.compute(CallGraph cg) |
Map<CGNode,com.ibm.wala.util.intset.OrdinalSet<PointerKey>> |
ModRef.computeMod(CallGraph cg,
PointerAnalysis<InstanceKey> pa)
For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitively
|
Map<CGNode,com.ibm.wala.util.intset.OrdinalSet<PointerKey>> |
ModRef.computeMod(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
HeapExclusions heapExclude)
For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitively
|
Map<CGNode,com.ibm.wala.util.intset.OrdinalSet<PointerKey>> |
ModRef.computeRef(CallGraph cg,
PointerAnalysis<InstanceKey> pa)
For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitively
|
Map<CGNode,com.ibm.wala.util.intset.OrdinalSet<PointerKey>> |
ModRef.computeRef(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
HeapExclusions heapExclude)
For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitively
|
| Modifier and Type | Method and Description |
|---|---|
CallGraph |
SDG.getCallGraph() |
| Constructor and Description |
|---|
CISlicer(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
ModRef modRef,
Slicer.DataDependenceOptions dOptions,
Slicer.ControlDependenceOptions cOptions) |
CISlicer(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
Slicer.DataDependenceOptions dOptions,
Slicer.ControlDependenceOptions cOptions) |
ThinSlicer(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
ThinSlicer(CallGraph cg,
PointerAnalysis<InstanceKey> pa,
ModRef modRef) |
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
PaPanel.cg |
| Modifier and Type | Method and Description |
|---|---|
protected PaPanel |
WalaViewer.createPaPanel(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
| Constructor and Description |
|---|
CgPanel(CallGraph cg) |
IrAndSourceViewer(CallGraph cg) |
PaPanel(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
WalaViewer(CallGraph cg,
PointerAnalysis<InstanceKey> pa) |
Copyright © 2015. All rights reserved.