Package boomerang.results
Class BackwardBoomerangResults<W extends wpds.impl.Weight>
- java.lang.Object
-
- boomerang.results.AbstractBoomerangResults<W>
-
- boomerang.results.BackwardBoomerangResults<W>
-
public class BackwardBoomerangResults<W extends wpds.impl.Weight> extends AbstractBoomerangResults<W>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class boomerang.results.AbstractBoomerangResults
AbstractBoomerangResults.Context
-
-
Field Summary
-
Fields inherited from class boomerang.results.AbstractBoomerangResults
LOGGER, queryToSolvers
-
-
Constructor Summary
Constructors Constructor Description BackwardBoomerangResults(BackwardQuery query, boolean timedout, DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers, BackwardBoomerangSolver<W> backwardSolver, IBoomerangStats<W> stats, com.google.common.base.Stopwatch analysisWatch)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanaliases(Query el)Set<AccessPath>getAllAliases()Return anAccessPathfor each aliasing object of the original query.Set<AccessPath>getAllAliases(ControlFlowGraph.Edge stmt)Map<ForwardQuery,AbstractBoomerangResults.Context>getAllocationSites()com.google.common.base.StopwatchgetAnalysisWatch()Set<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>>getDataFlowPath(ForwardQuery query)Deprecated.longgetMaxMemory()Set<Type>getPropagationType()Returns the set of types the backward analysis for the triggered query ever propagates.IBoomerangStats<W>getStats()booleanisEmpty()booleanisTimedout()-
Methods inherited from class boomerang.results.AbstractBoomerangResults
asEdgeValWeightTable, asStatementValWeightTable, computeUnmatchedClosingContext, computeUnmatchedOpeningContext, constructContextGraph
-
-
-
-
Constructor Detail
-
BackwardBoomerangResults
public BackwardBoomerangResults(BackwardQuery query, boolean timedout, DefaultValueMap<ForwardQuery,ForwardBoomerangSolver<W>> queryToSolvers, BackwardBoomerangSolver<W> backwardSolver, IBoomerangStats<W> stats, com.google.common.base.Stopwatch analysisWatch)
-
-
Method Detail
-
getAllocationSites
public Map<ForwardQuery,AbstractBoomerangResults.Context> getAllocationSites()
-
isTimedout
public boolean isTimedout()
-
getStats
public IBoomerangStats<W> getStats()
-
getAnalysisWatch
public com.google.common.base.Stopwatch getAnalysisWatch()
-
aliases
public boolean aliases(Query el)
-
getAllAliases
public Set<AccessPath> getAllAliases(ControlFlowGraph.Edge stmt)
-
getAllAliases
public Set<AccessPath> getAllAliases()
Return anAccessPathfor each aliasing object of the original query.- Returns:
- all access paths aliasing with the query variable
-
isEmpty
public boolean isEmpty()
-
getPropagationType
public Set<Type> getPropagationType()
Returns the set of types the backward analysis for the triggered query ever propagates.- Returns:
- Set of types the backward analysis propagates
-
getDataFlowPath
@Deprecated public Set<sync.pds.solver.nodes.Node<ControlFlowGraph.Edge,Val>> getDataFlowPath(ForwardQuery query)
Deprecated.Computes the set of statements (and variables at these statements) relevant for data-flow propagation. A statement s is relevant, if a propagated variable x is used at s. I.e., when propagting x @ y = x, the returned set contains x @ y = x, whereas it will not contain a call site x @ y = foo(c), because x is not used at the statement.- Returns:
- The set of relevant statements during data-flow propagation
-
getMaxMemory
public long getMaxMemory()
-
-