Class AstJavaZeroOneContainerCFABuilder
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
com.ibm.wala.cast.java.ipa.callgraph.AstJavaSSAPropagationCallGraphBuilder
com.ibm.wala.cast.java.ipa.callgraph.AstJavaCFABuilder
com.ibm.wala.cast.java.ipa.callgraph.AstJavaZeroOneContainerCFABuilder
- All Implemented Interfaces:
CallGraphBuilder<InstanceKey>
,HeapModel
,InstanceKeyFactory
,PointerKeyFactory
0-1-CFA Call graph builder which analyzes calls to "container methods" in a context which is
defined by the receiver instance.
- Author:
- sfink
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.wala.cast.java.ipa.callgraph.AstJavaSSAPropagationCallGraphBuilder
AstJavaSSAPropagationCallGraphBuilder.AstJavaConstraintVisitor, AstJavaSSAPropagationCallGraphBuilder.AstJavaInterestingVisitor, AstJavaSSAPropagationCallGraphBuilder.EnclosingObjectReferenceKey
Nested classes/interfaces inherited from class com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor, AstSSAPropagationCallGraphBuilder.AstInterestingVisitor, AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImpl
Nested classes/interfaces inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
SSAPropagationCallGraphBuilder.ConstraintVisitor, SSAPropagationCallGraphBuilder.InterestingVisitor
Nested classes/interfaces inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
PropagationCallGraphBuilder.ArrayLoadOperator, PropagationCallGraphBuilder.ArrayStoreOperator, PropagationCallGraphBuilder.FilterOperator, PropagationCallGraphBuilder.GetFieldOperator, PropagationCallGraphBuilder.InstanceArrayStoreOperator, PropagationCallGraphBuilder.InstancePutFieldOperator, PropagationCallGraphBuilder.InverseFilterOperator, PropagationCallGraphBuilder.MutableBoolean, PropagationCallGraphBuilder.PutFieldOperator, PropagationCallGraphBuilder.TypedPointerKey
-
Field Summary
Fields inherited from class com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
DEBUG_PROPERTIES, DEBUG_TYPE_INFERENCE
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
monitor, PERIODIC_WIPE_SOFT_CACHES, SHORT_CIRCUIT_SINGLE_USES, WIPE_SOFT_CACHE_INTERVAL
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system
-
Constructor Summary
ConstructorDescriptionAstJavaZeroOneContainerCFABuilder
(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter) -
Method Summary
Modifier and TypeMethodDescriptionprotected ContextSelector
protected ZeroXInstanceKeys
makeInstanceKeys
(IClassHierarchy cha, AnalysisOptions options, SSAContextInterpreter contextInterpreter) Methods inherited from class com.ibm.wala.cast.java.ipa.callgraph.AstJavaSSAPropagationCallGraphBuilder
fieldKeyForUnknownWrites, getGlobalObject, makeInterestingVisitor, makeTypeInference, makeVisitor, sameMethod, useObjectCatalog
Methods inherited from class com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
createEmptyCallGraph, hasNoInterestingUses, isUncataloguedField, makeDefaultContextInterpreters, makeSystem
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
addBlockInstructionConstraints, addConstraintsFromNode, addNodeInstructionConstraints, addNodePassthruExceptionConstraints, addNodeValueConstraints, contentsAreInvariant, contentsAreInvariant, getCaughtExceptionTypes, getCFAContextInterpreter, getIncomingPEIs, getInstanceKeyForPEI, getInstanceKeyForPEI, getInvariantContents, getInvariantContents, getTargetPointerKey, getTargetsForCall, getUniqueCatchKey, hasUniqueCatchBlock, isConstantRef, iterateCrossProduct, iteratePointerKeys, makeSolver, processCallingConstraints, unconditionallyAddConstraintsFromNode
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
addAssignmentsForCatchPointerKey, addConstraintsFromChangedNode, addConstraintsFromNewNodes, assignInstanceToCatch, catches, customInit, filterForClass, getAnalysisCache, getCallGraph, getClassHierarchy, getContextInterpreter, getContextSelector, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getInstanceKeyForAllocation, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray, getInstanceKeys, getInstanceKeysForClass, getJavaLangObject, getMutableInstanceKeysForClass, getOptions, getPointerAnalysis, getPointerKeyFactory, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField, getPropagationSystem, getSolver, getSystem, getTargetForCall, haveAlreadyVisited, isJavaLangObject, makeCallGraph, makeCallGraph, markAlreadyVisited, markChanged, markDiscovered, representsNullType, setContextInterpreter, setContextSelector, setInstanceKeys, setPointerKeyFactory, wasChanged
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.ibm.wala.ipa.callgraph.propagation.HeapModel
getClassHierarchy
Methods inherited from interface com.ibm.wala.ipa.callgraph.propagation.InstanceKeyFactory
getInstanceKeyForAllocation, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray
Methods inherited from interface com.ibm.wala.ipa.callgraph.propagation.PointerKeyFactory
getFilteredPointerKeyForLocal, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField
-
Constructor Details
-
AstJavaZeroOneContainerCFABuilder
public AstJavaZeroOneContainerCFABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter) - Parameters:
cha
- governing class hierarchyoptions
- call graph construction optionsappContextSelector
- application-specific logic to choose contextsappContextInterpreter
- application-specific logic to interpret a method in context
-
-
Method Details
-
makeInstanceKeys
protected ZeroXInstanceKeys makeInstanceKeys(IClassHierarchy cha, AnalysisOptions options, SSAContextInterpreter contextInterpreter) -
makeContainerContextSelector
- Returns:
- an object which creates contexts for call graph nodes based on the container disambiguation policy
-