Package com.ibm.wala.ipa.callgraph.propagation
package com.ibm.wala.ipa.callgraph.propagation
This package provides the base layer for propagation-based call graph construction and pointer
analysis.
-
ClassDescriptionCommon implementation for
InstanceFieldPointerKeyimplementations.APointerKeyrepresenting a local variable must carry at least aCGNode.Abstract superclass forPointerAnalysisimplementations.This class exists to forcePointerKeyimplementations to implement equals() and hashCode()s.Abstract base class for solver for pointer analysis.A factory which tries by default to createInstanceKeys which areAllocationSiteInNodes.APointerKeywhich represents the contents of an array instance.A specialized equation class introduced for efficiency.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.This context selector selects a context based on the concrete type of the receiver to a call of java.lang.Object.cloneAn instance key which represents a unique set for each concrete type.ConstantKey<T>An instance key which represents a unique, constant object.Utilities for container class analysisAPointerKeywhich carries a type filter, used during pointer analysisAHeapModelembodies how a pointer analysis abstracts heap locations.An pointer key which represents a unique set for a field associated with a set of instances.an instance field pointer key key that carries a type filterAn InstanceKey serves as the representative for an equivalence class of objects in the heap, that can be pointed to.An object that abstracts how to model instances in the heap.An operator in pointer analysis constraints.Basic interface for a pointer analysis solver.A pointer key which provides a unique set for each local in each call graph node.a local pointer key that carries a type filterAnInstanceKeywhich represents a multi-new-array allocation site in aCGNode.A key which represents a set corresponding to a call graph node.PointerAnalysis<T extends InstanceKey>Abstract definition of pointer analysisGeneral representation of the results of pointer analysisA PointerKey instance serves as the representative for an equivalence class of pointers.An object that abstracts how to model pointers in the heap.An object that tracks the mapping between pointer keys and points-to set variablesRepresentation of a points-to set during an andersen-style analysis.This abstract base class provides the general algorithm for a call graph builder that relies on propagation through an iterative dataflow solverA pointer key that delegates to an untyped variant, but adds a type filterA dataflow graph implementation specialized for propagation-based pointer analysisSystem of constraints that define propagation for call graph constructionThis is a context which is customized for theInstanceKeyof the receiver.This context selector selects a context based on the concrete type of the receiver.A helper class which can modify aPropagationCallGraphBuilderto deal with reflective factory methods.A key which represents the return value for a node.a helper class which can modify a PropagationCallGraphBuilder to deal with reflective factory methods.A selective Cartesian product context that enforces object sensitivity on some set of parameter positions.AnInstanceKeywhich represents the set of all allocation sites of a given type in aCGNode.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.An object that provides an interface to local method information needed for CFA.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.A visitor that generates constraints based on statements in SSA form.sets bingo to true when it visits an interesting instructionstandard fixed-point iterative solver for pointer analysisAn pointer key which represents a unique set for each static field.AnInstanceKeywhich represents the constant char[] contents of a string constant object.This context selector selects a context based on whether the receiver type dispatches to a given method.A SideEffect is a constraint which carries a points-to-set which is def'fed or used in created constraints.Represents an array with length zero.