Class PessimisticCallGraphBuilder
java.lang.Object
com.ibm.wala.cast.js.callgraph.fieldbased.FieldBasedCallGraphBuilder
com.ibm.wala.cast.js.callgraph.fieldbased.PessimisticCallGraphBuilder
Call graph builder for building pessimistic call graphs, where inter-procedural flows are not
tracked except in the trivial case of local calls. This builder is fast, but in general less
sound than
OptimisticCallgraphBuilder.- Author:
- mschaefer
-
Nested Class Summary
Nested classes/interfaces inherited from class FieldBasedCallGraphBuilder
FieldBasedCallGraphBuilder.CallGraphResultModifier and TypeClassDescriptionstatic classFull result of call graph computation -
Field Summary
Fields inherited from class FieldBasedCallGraphBuilder
cache, cha, constructors, options, supportFullPointerAnalysis, targetSelectorModifier and TypeFieldDescriptionprotected final IAnalysisCacheViewprotected final IClassHierarchyprotected final JavaScriptConstructorFunctionsprotected final AnalysisOptionsprotected final booleanfinal MethodTargetSelector -
Constructor Summary
ConstructorsConstructorDescriptionPessimisticCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView iAnalysisCacheView, boolean supportFullPointerAnalysis) -
Method Summary
Modifier and TypeMethodDescriptionBuild a flow graph for the program to be analysed.protected booleanfilterFunction(IMethod function) Methods inherited from class FieldBasedCallGraphBuilder
addEdgeToJSCallGraph, buildCallGraph, extract, extract, extractCallGraphEdges, flowGraphFactory, handleFunctionCallOrApplyInvocationModifier and TypeMethodDescriptionbooleanaddEdgeToJSCallGraph(JSCallGraph cg, CallSiteReference site, IMethod target, CGNode caller) buildCallGraph(Iterable<? extends Entrypoint> eps, MonitorUtil.IProgressMonitor monitor) Main entry point: builds a flow graph, then extracts a call graph and returns it.extract(FlowGraph flowgraph, Iterable<? extends Entrypoint> eps, MonitorUtil.IProgressMonitor monitor) Extract a call graph from a given flow graph.extract(SSAContextInterpreter interpreter, FlowGraph flowgraph, Iterable<? extends Entrypoint> eps, MonitorUtil.IProgressMonitor monitor) extractCallGraphEdges(FlowGraph flowgraph, MonitorUtil.IProgressMonitor monitor) Extract call edges from the flow graph into high-level representation.protected FlowGraphbooleanhandleFunctionCallOrApplyInvocation(FlowGraph flowgraph, MonitorUtil.IProgressMonitor monitor, JSCallGraph cg, CallVertex callVertex, CGNode caller, CallSiteReference site, IMethod target)
-
Constructor Details
-
PessimisticCallGraphBuilder
public PessimisticCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView iAnalysisCacheView, boolean supportFullPointerAnalysis)
-
-
Method Details
-
buildFlowGraph
Description copied from class:FieldBasedCallGraphBuilderBuild a flow graph for the program to be analysed.- Specified by:
buildFlowGraphin classFieldBasedCallGraphBuilder
-
filterFunction
-