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
FilteredPointerKey A PointerKey which carries a type filter, used during pointer analysis
FilteredPointerKey.TypeFilter  
HeapModel A 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 Basic interface for a pointer analysis solver.
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
AbstractFieldPointerKey Common implementation for InstanceFieldPointerKey implementations.
AbstractLocalPointerKey A PointerKey representing a local variable must carry at least a CGNode.
AbstractPointerAnalysis Abstract superclass for PointerAnalysis implementations.
AbstractPointerKey This class exists to force PointerKey implementations to implement equals() and hashCode()s.
AbstractPointsToSolver abstract base class for solver for pointer analysis
AbstractTypeInNode Abstract base class for InstanceKey which represents at least some IClass in some CGNode
AllocationSite An InstanceKey which represents a NewSiteReference in some IMethod.
AllocationSiteInNode An InstanceKey which represents a NewSiteReference in some CGNode.
AllocationSiteInNodeFactory A factory which tries by default to create InstanceKeys which are AllocationSiteInNodes.
ArrayContentsKey A PointerKey which represents the contents of an array instance.
AssignEquation A specialized 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<T> An instance key which represents a unique, constant object
ContainerUtil Utilities for container class analysis
FilteredPointerKey.MultipleClassesFilter  
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 an 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
MultiNewArrayInNode An InstanceKey which represents a multinewarray allocation site in a CGNode.
NodeKey A key which represents a set corresponding to a call graph node.
NormalAllocationInNode An InstanceKey which represents a "normal" (not multinewarray) NewSiteReference in a CGNode.
PointerAnalysisImpl General representation of the results of pointer analysis
PointerAnalysisImpl.ImplicitPointsToSetVisitor  
PointerKeyComparator  
PointsToMap An object that tracks the mapping between pointer keys and points-to set variables
PointsToSetVariable Representation of a points-to set during an andersen-style analysis.
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 A pointer key that delegates to an untyped variant, but adds a type filter
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 InstanceKey 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.
SmushedAllocationSiteInNode An InstanceKey which represents the set of all allocation sites of a given type in a CGNode.
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.
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 sets bingo to true when it visits an interesting instruction
StandardSolver standard fixed-point iterative solver for pointer analysis
StaticFieldKey An pointer key which represents a unique set for each static field
StringConstantCharArray An InstanceKey which represents the constant char[] contents of a string constant object.
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.