Class JSZeroOrOneXCFABuilder
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.js.ipa.callgraph.JSSSAPropagationCallGraphBuilder
com.ibm.wala.cast.js.ipa.callgraph.JSCFABuilder
com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder
- All Implemented Interfaces:
CallGraphBuilder<InstanceKey>, HeapModel, InstanceKeyFactory, PointerKeyFactory
0-x-CFA Call graph builder, optimized to not disambiguate instances of "uninteresting" types
-
Nested Class Summary
Nested classes/interfaces inherited from class JSSSAPropagationCallGraphBuilder
JSSSAPropagationCallGraphBuilder.JSConstraintVisitor, JSSSAPropagationCallGraphBuilder.JSInterestingVisitor, JSSSAPropagationCallGraphBuilder.JSPointerAnalysisImplNested classes/interfaces inherited from class AstSSAPropagationCallGraphBuilder
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor, AstSSAPropagationCallGraphBuilder.AstInterestingVisitor, AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImplNested classes/interfaces inherited from class SSAPropagationCallGraphBuilder
SSAPropagationCallGraphBuilder.ConstraintVisitor, SSAPropagationCallGraphBuilder.InterestingVisitorNested classes/interfaces inherited from class 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 JSSSAPropagationCallGraphBuilder
DEBUG_LEXICAL, DEBUG_TYPE_INFERENCE, GLOBAL_OBJ_VAR_NAMEFields inherited from class AstSSAPropagationCallGraphBuilder
DEBUG_PROPERTIESFields inherited from class SSAPropagationCallGraphBuilder
monitor, PERIODIC_WIPE_SOFT_CACHES, SHORT_CIRCUIT_SINGLE_USES, WIPE_SOFT_CACHE_INTERVALFields inherited from class PropagationCallGraphBuilder
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system -
Constructor Summary
ConstructorsConstructorDescriptionJSZeroOrOneXCFABuilder(IClassHierarchy cha, JSAnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter, int instancePolicy, boolean doOneCFA) -
Method Summary
Modifier and TypeMethodDescriptionstatic JSCFABuildermake(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, ClassLoader cl, AnalysisScope scope, String[] xmlFiles, byte instancePolicy, boolean doOneCFA) Methods inherited from class JSSSAPropagationCallGraphBuilder
addAssignmentsForCatchPointerKey, createEmptyCallGraph, fieldKeyForUnknownWrites, getBaseURL, getGlobalObject, getPointerKeyForGlobalVar, getSomePositionForMethod, isConstantRef, isUncataloguedField, makeInterestingVisitor, makeSystem, makeTypeInference, makeVisitor, processCallingConstraints, processCallingConstraintsInternal, sameMethod, setBaseURL, useObjectCatalogMethods inherited from class AstSSAPropagationCallGraphBuilder
hasNoInterestingUses, makeDefaultContextInterpretersMethods inherited from class SSAPropagationCallGraphBuilder
addBlockInstructionConstraints, addConstraintsFromNode, addNodeInstructionConstraints, addNodePassthruExceptionConstraints, addNodeValueConstraints, contentsAreInvariant, contentsAreInvariant, getCaughtExceptionTypes, getCFAContextInterpreter, getIncomingPEIs, getInstanceKeyForPEI, getInstanceKeyForPEI, getInvariantContents, getInvariantContents, getTargetPointerKey, getTargetsForCall, getUniqueCatchKey, hasUniqueCatchBlock, iterateCrossProduct, iteratePointerKeys, makeSolver, unconditionallyAddConstraintsFromNodeMethods inherited from class PropagationCallGraphBuilder
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, wasChangedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HeapModel
getClassHierarchyMethods inherited from interface InstanceKeyFactory
getInstanceKeyForAllocation, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray
-
Constructor Details
-
JSZeroOrOneXCFABuilder
public JSZeroOrOneXCFABuilder(IClassHierarchy cha, JSAnalysisOptions options, IAnalysisCacheView cache, ContextSelector appContextSelector, SSAContextInterpreter appContextInterpreter, int instancePolicy, boolean doOneCFA)
-
-
Method Details
-
make
public static JSCFABuilder make(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, ClassLoader cl, AnalysisScope scope, String[] xmlFiles, byte instancePolicy, boolean doOneCFA) - Parameters:
options- options that govern call graph constructioncha- governing class hierarchycl- classloader that can find DOMO resourcesscope- representation of the analysis scopexmlFiles- set of Strings that are names of XML files holding bypass logic specifications.- Returns:
- a 0-1-Opt-CFA Call Graph Builder.
-