| Package | Description |
|---|---|
| boomerang | |
| boomerang.debugger | |
| boomerang.flowfunction | |
| boomerang.guided | |
| boomerang.poi | |
| boomerang.results | |
| boomerang.solver | |
| boomerang.stats | |
| boomerang.weights |
| Modifier and Type | Class and Description |
|---|---|
class |
ForwardQueryArray |
class |
ForwardQueryMultiDimensionalArray |
class |
WeightedForwardQuery<W extends wpds.impl.Weight> |
| Modifier and Type | Method and Description |
|---|---|
DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> |
WeightedBoomerang.getSolvers() |
| Modifier and Type | Method and Description |
|---|---|
protected ForwardBoomerangSolver<W> |
WeightedBoomerang.createForwardSolver(ForwardQuery sourceQuery) |
void |
WeightedBoomerang.FieldWritePOI.execute(ForwardQuery baseAllocation,
Query flowAllocation) |
protected void |
WeightedBoomerang.forwardHandleFieldWrite(sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val> node,
WeightedBoomerang.FieldWritePOI fieldWritePoi,
ForwardQuery sourceQuery) |
protected abstract sync.pds.solver.WeightFunctions<ControlFlowGraph.Edge,Val,ControlFlowGraph.Edge,W> |
WeightedBoomerang.getForwardCallWeights(ForwardQuery sourceQuery) |
protected sync.pds.solver.WeightFunctions<ControlFlowGraph.Edge,Val,ControlFlowGraph.Edge,wpds.impl.Weight.NoWeight> |
Boomerang.getForwardCallWeights(ForwardQuery sourceQuery) |
com.google.common.collect.Table<ControlFlowGraph.Edge,Val,W> |
WeightedBoomerang.getResults(ForwardQuery seed) |
boolean |
WeightedBoomerang.preventCallRuleAdd(ForwardQuery sourceQuery,
wpds.impl.Rule<ControlFlowGraph.Edge,sync.pds.solver.nodes.INode<Val>,W> rule) |
ForwardBoomerangResults<W> |
WeightedBoomerang.solve(ForwardQuery query) |
ForwardBoomerangResults<W> |
WeightedBoomerang.solveUnderScope(ForwardQuery query,
sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val> triggeringNode,
Query parentQuery) |
| Modifier and Type | Method and Description |
|---|---|
void |
ConsoleDebugger.done(Map<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers) |
void |
IDEVizDebugger.done(ObservableICFG<Statement,Method> icfg,
ObservableControlFlowGraph confg,
Set<Method> visitedMethods,
Map<ForwardQuery,ForwardBoomerangSolver<W>> solvers) |
void |
Debugger.done(ObservableICFG<Statement,Method> icfg,
ObservableControlFlowGraph cfg,
Set<Method> visitedMethods,
Map<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers) |
void |
CallGraphDebugger.done(ObservableICFG<Statement,Method> icfg,
ObservableControlFlowGraph cfg,
Set<Method> visitedMethods,
Map<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers) |
| Modifier and Type | Method and Description |
|---|---|
Collection<wpds.interfaces.State> |
IForwardFlowFunction.callToReturnFlow(ForwardQuery query,
ControlFlowGraph.Edge edge,
Val fact)
Called by the forward analysis, when data-flow by-passes a call site with data-flow fact.
|
Collection<wpds.interfaces.State> |
DefaultForwardFlowFunction.callToReturnFlow(ForwardQuery query,
ControlFlowGraph.Edge edge,
Val fact) |
Collection<wpds.interfaces.State> |
IForwardFlowFunction.normalFlow(ForwardQuery query,
ControlFlowGraph.Edge edge,
Val fact)
Called by the forward analysis, for any non return statements or call site statements.
|
Set<wpds.interfaces.State> |
DefaultForwardFlowFunction.normalFlow(ForwardQuery query,
ControlFlowGraph.Edge nextEdge,
Val fact) |
| Modifier and Type | Method and Description |
|---|---|
Collection<Query> |
IDemandDrivenGuidedManager.onForwardFlow(ForwardQuery query,
ControlFlowGraph.Edge dataFlowEdge,
Val dataFlowVal) |
Collection<Query> |
SimpleSpecificationGuidedManager.onForwardFlow(ForwardQuery query,
ControlFlowGraph.Edge dataFlowEdge,
Val dataFlowVal) |
| Modifier and Type | Method and Description |
|---|---|
void |
PointOfIndirection.addBaseAllocation(ForwardQuery baseAllocation) |
abstract void |
PointOfIndirection.execute(ForwardQuery baseAllocation,
Query flowAllocation) |
| Modifier and Type | Field and Description |
|---|---|
protected DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> |
AbstractBoomerangResults.queryToSolvers |
| Modifier and Type | Method and Description |
|---|---|
Map<ForwardQuery,AbstractBoomerangResults.Context> |
BackwardBoomerangResults.getAllocationSites() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
ExtractAllocationSiteStateListener.allocationSiteFound(ForwardQuery allocationSite,
BackwardQuery query) |
com.google.common.collect.Table<ControlFlowGraph.Edge,Val,W> |
AbstractBoomerangResults.asStatementValWeightTable(ForwardQuery query) |
protected AbstractBoomerangResults.Context |
AbstractBoomerangResults.constructContextGraph(ForwardQuery forwardQuery,
sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val> targetFact) |
Set<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>> |
BackwardBoomerangResults.getDataFlowPath(ForwardQuery query)
Deprecated.
|
| Constructor and Description |
|---|
Context(sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val> node,
ForwardQuery forwardQuery) |
ExtractAllocationSiteStateListener(sync.pds.solver.nodes.INode<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>> state,
BackwardQuery bwQuery,
ForwardQuery query) |
ForwardBoomerangResults(ForwardQuery query,
ObservableICFG<Statement,Method> icfg,
ObservableControlFlowGraph cfg,
boolean timedout,
DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers,
IBoomerangStats<W> stats,
com.google.common.base.Stopwatch analysisWatch,
Set<Method> visitedMethods,
boolean trackDataFlowPath,
boolean pruneContradictoryDataFlowPath,
boolean pruneImplictFlows) |
| Constructor and Description |
|---|
AbstractBoomerangResults(DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> solverMap) |
BackwardBoomerangResults(BackwardQuery query,
boolean timedout,
DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers,
BackwardBoomerangSolver<W> backwardSolver,
IBoomerangStats<W> stats,
com.google.common.base.Stopwatch analysisWatch) |
ForwardBoomerangResults(ForwardQuery query,
ObservableICFG<Statement,Method> icfg,
ObservableControlFlowGraph cfg,
boolean timedout,
DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers,
IBoomerangStats<W> stats,
com.google.common.base.Stopwatch analysisWatch,
Set<Method> visitedMethods,
boolean trackDataFlowPath,
boolean pruneContradictoryDataFlowPath,
boolean pruneImplictFlows) |
| Constructor and Description |
|---|
ForwardBoomerangSolver(ObservableICFG<Statement,Method> callGraph,
ObservableControlFlowGraph cfg,
ForwardQuery query,
Map<Map.Entry<sync.pds.solver.nodes.INode<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>>,Field>,sync.pds.solver.nodes.INode<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>>> genField,
BoomerangOptions options,
wpds.impl.NestedWeightedPAutomatons<ControlFlowGraph.Edge,sync.pds.solver.nodes.INode<Val>,W> callSummaries,
wpds.impl.NestedWeightedPAutomatons<Field,sync.pds.solver.nodes.INode<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>>,W> fieldSummaries,
DataFlowScope scope,
IForwardFlowFunction flowFunctions,
com.google.common.collect.Multimap<Field,Statement> fieldLoadStatements,
com.google.common.collect.Multimap<Field,Statement> fieldStoreStatements,
Type propagationType) |
| Modifier and Type | Method and Description |
|---|---|
void |
SimpleBoomerangStats.terminated(ForwardQuery query,
ForwardBoomerangResults<W> forwardBoomerangResults) |
void |
IBoomerangStats.terminated(ForwardQuery query,
ForwardBoomerangResults<W> forwardBoomerangResults) |
void |
CSVBoomerangStatsWriter.terminated(ForwardQuery query,
ForwardBoomerangResults<W> res) |
void |
AdvancedBoomerangStats.terminated(ForwardQuery query,
ForwardBoomerangResults<W> forwardBoomerangResults) |
| Modifier and Type | Method and Description |
|---|---|
protected sync.pds.solver.WeightFunctions<ControlFlowGraph.Edge,Val,ControlFlowGraph.Edge,DataFlowPathWeight> |
PathTrackingBoomerang.getForwardCallWeights(ForwardQuery sourceQuery) |
Copyright © 2024. All rights reserved.