Package com.ibm.wala.ipa.callgraph.propagation

This package provides the base layer for propagation-based call graph construction and pointer analysis.

See:
          Description

Interface Summary
AbstractAnalysis This interface encapsulates the result of a proagation-based bit-vector dataflow analysis done over a set of PointerKey objects related by dataflow.
FilteredPointerKey A PointerKey which carries a type filter, used during pointer analysis
FilteredPointerKey.TypeFilter  
HeapModel Embodies how a pointer analysis abstracts heap locations.
InstanceFieldPointerKey  
InstanceKey An InstanceKey serves as the representative for an equivalence class of objects in the heap, that can be pointed to.
InstanceKeyFactory An object that abstracts how to model instances in the heap.
IPointerOperator An operator in pointer analysis constraints
IPointsToSolver  
PointerAnalysis Abstract definition of pointer analysis
PointerKey A PointerKey instance serves as the representative for an equivalence class of pointers.
PointerKeyFactory An object that abstracts how to model pointers in the heap.
SSAContextInterpreter An object that provides an interface to local method information needed for CFA.
 

Class Summary
AbstractAllocationSiteKey A base class for allocation site instance keys
AbstractFieldPointerKey  
AbstractLocalPointerKey  
AbstractPointerAnalysis  
AbstractPointerKey  
AbstractPointsToSolver abstract base class for solver for pointer analysis
AllocationSiteInstanceKeys This class provides Instance Key call backs where each instance is in the same equivalence class as all other instances allocated at the same site.
AllocationSiteKey An instance key which represents a unique set for each allocation site in each CGNode
ArrayInstanceKey A pointer key which represents the contents of an array instance.
AssignEquation A apecialized equation class introduced for efficiency
ClassBasedInstanceKeys This class provides Instance Key call backs where each instance is in the same equivalence class as all other instances of the same concrete type.
CloneContextSelector This context selector selects a context based on the concrete type of the receiver to a call of java.lang.Object.clone
ConcreteTypeKey An instance key which represents a unique set for each concrete type
ConstantKey An instance key which represents a unique set for each String constant
ContainerUtil Utilities for container class analysis
FilteredPointerKey.SingleClassFilter  
FilteredPointerKey.SingleInstanceFilter  
FilteredPointerKey.TargetMethodFilter  
InstanceFieldKey An pointer key which represents a unique set for a field associated with a set of instances.
InstanceFieldKeyWithFilter a instance field pointer key key that carries a type filter
LocalPointerKey A pointer key which provides a unique set for each local in each call graph node.
LocalPointerKeyWithFilter a local pointer key that carries a type filter
MultiNewArrayAllocationSiteKey An instance key which represents a unique set for each multinewarray allocation site
NodeKey A key which represents a set corresponding to a call graph node.
NormalAllocationSiteKey An instance key which represents the set of objects allocated at a "normal" (not multinewarray) bytecode
PointerAnalysisImpl General representation of the results of pointer analysis
PointerAnalysisImpl.ImplicitPointsToSetVisitor  
PointerFlowGraph A graphical view that represents the flow of pointers between abstract heap locations Each node in this graph is a PointerKey, representing an abstraction of a pointer.
PointerFlowGraph.InstructionVisitor  
PointerFlowGraphFactory  
PointerKeyComparator  
PointsToMap An object that tracks the mapping between pointer keys and points-to set variables
PointsToSetVariable  
PreTransitiveSolver pre-transitive solver incorporating concepts from Heintze and Tardieu, PLDI 2001 In this implementation, there are two types of points-to-sets, "transitive roots", and "not-roots".
PropagationCallGraphBuilder This abstract base class provides the general algorithm for a call graph builder that relies on propagation through an iterative dataflow solver TODO: This implementation currently keeps all points to sets live ...
PropagationCallGraphBuilder.MutableBoolean  
PropagationCallGraphBuilder.TypedPointerKey  
PropagationGraph A dataflow graph implementation specialized for propagation-based pointer analysis
PropagationSystem System of constraints that define propagation for call graph construction
ReceiverInstanceContext This is a context which is customized for the instance key of the receiver.
ReceiverTypeContextSelector This context selector selects a context based on the concrete type of the receiver.
ReflectionHandler a helper class which can modify a PropagationCallGraphBuilder to deal with reflective factory methods.
ReturnValueKey A key which represents the return value for a node
ReturnValueKeyWithFilter a helper class which can modify a PropagationCallGraphBuilder to deal with reflective factory methods.
SmushedAllocationSiteInstanceKeys This class provides instance keys where for a given type T in a CGNode N, there is one "abstract allocation site" instance for all T allocations in node N.
SmushedAllocationSiteKey An instance key which represents a unique set for ALL allocation sites of a given type in a CGNode
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.
SSAPropagationCallGraphBuilder.ConstraintVisitor A visitor that generates constraints based on statements in SSA form.
SSAPropagationCallGraphBuilder.InterestingVisitor  
StandardSolver standard fixed-point iterative solver for pointer analysis
StaticFieldKey An pointer key which represents a unique set for each static field
StringConstantKey An instance key which represents a unique set for each String constant
TargetMethodContextSelector This context selector selects a context based on whether the receiver type dispatches to a given method.
UnarySideEffect A SideEffect is a constraint which carries a points-to-set which is def'fed or used in created constraints.
 

Package com.ibm.wala.ipa.callgraph.propagation Description

This package provides the base layer for propagation-based call graph construction and pointer analysis.