| Package | Description |
|---|---|
| com.ibm.wala.ipa.callgraph.propagation |
This package provides the base layer for propagation-based call graph
construction and pointer analysis.
|
| com.ibm.wala.ipa.callgraph.propagation.rta |
This package provides CFA-style call graph
construction and pointer analysis.
|
| Modifier and Type | Method and Description |
|---|---|
PointsToSetVariable |
PropagationSystem.findOrCreatePointsToSet(PointerKey key)
If key is unified, returns the representative
|
PointsToSetVariable |
PointsToMap.getPointsToSet(int id) |
PointsToSetVariable |
PointsToMap.getPointsToSet(PointerKey p)
If p is unified, returns the representative for p.
|
protected PointsToSetVariable[] |
PropagationSystem.makeStmtRHS(int size) |
| Modifier and Type | Method and Description |
|---|---|
com.ibm.wala.util.graph.NumberedGraph<PointsToSetVariable> |
PropagationSystem.getAssignmentGraph() |
com.ibm.wala.util.graph.NumberedGraph<PointsToSetVariable> |
PropagationGraph.getAssignmentGraph()
A graph of just the variables in the system.
|
com.ibm.wala.util.graph.Graph<PointsToSetVariable> |
PropagationGraph.getFilterAssignmentGraph()
A graph of just the variables in the system.
|
com.ibm.wala.util.graph.Graph<PointsToSetVariable> |
PropagationSystem.getFilterAsssignmentGraph() |
com.ibm.wala.fixpoint.IFixedPointSystem<PointsToSetVariable> |
PropagationSystem.getFixedPointSystem() |
com.ibm.wala.util.graph.Graph<PointsToSetVariable> |
PropagationSystem.getFlowGraphIncludingImplicitConstraints()
NOTE: do not use this method unless you really know what you are doing.
|
com.ibm.wala.util.graph.Graph<PointsToSetVariable> |
PropagationGraph.getFlowGraphIncludingImplicitConstraints()
NOTE: do not use this method unless you really know what you are doing.
|
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
AssignEquation.getOperator() |
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
PropagationCallGraphBuilder.PutFieldOperator.getPutAssignmentOperator()
subclasses (e.g.
|
Iterator<PointsToSetVariable> |
PropagationGraph.getVariables() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
PointsToSetVariable.addAll(PointsToSetVariable other) |
boolean |
FilteredPointerKey.TypeFilter.addFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.SingleClassFilter.addFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.MultipleClassesFilter.addFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.SingleInstanceFilter.addFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.TargetMethodFilter.addFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.TypeFilter.addInverseFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.SingleClassFilter.addInverseFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.MultipleClassesFilter.addInverseFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.SingleInstanceFilter.addInverseFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
FilteredPointerKey.TargetMethodFilter.addInverseFiltered(PropagationSystem system,
PointsToSetVariable L,
PointsToSetVariable R) |
boolean |
PropagationGraph.containsVariable(PointsToSetVariable v) |
abstract byte |
UnarySideEffect.evaluate(PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.ArrayLoadOperator.evaluate(PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.ArrayStoreOperator.evaluate(PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.GetFieldOperator.evaluate(PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.PutFieldOperator.evaluate(PointsToSetVariable rhs) |
byte |
UnarySideEffect.evaluate(PointsToSetVariable lhs,
PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.FilterOperator.evaluate(PointsToSetVariable lhs,
PointsToSetVariable rhs) |
byte |
PropagationCallGraphBuilder.InstancePutFieldOperator.evaluate(PointsToSetVariable dummyLHS,
PointsToSetVariable var)
Simply add the instance to each relevant points-to set.
|
byte |
PropagationCallGraphBuilder.InstanceArrayStoreOperator.evaluate(PointsToSetVariable dummyLHS,
PointsToSetVariable var)
Simply add the instance to each relevant points-to set.
|
byte |
PropagationCallGraphBuilder.InverseFilterOperator.evaluate(PointsToSetVariable lhs,
PointsToSetVariable rhs) |
int |
PropagationGraph.getNumberOfStatementsThatDef(PointsToSetVariable v) |
int |
PropagationGraph.getNumberOfStatementsThatUse(PointsToSetVariable v)
Note that this implementation consults the implicit relation for each and every operator cached.
|
Iterator<com.ibm.wala.fixpoint.AbstractStatement> |
PropagationSystem.getStatementsThatDef(PointsToSetVariable v) |
Iterator<com.ibm.wala.fixpoint.AbstractStatement> |
PropagationGraph.getStatementsThatDef(PointsToSetVariable v) |
Iterator<com.ibm.wala.fixpoint.AbstractStatement> |
PropagationSystem.getStatementsThatUse(PointsToSetVariable v) |
Iterator<com.ibm.wala.fixpoint.AbstractStatement> |
PropagationGraph.getStatementsThatUse(PointsToSetVariable v) |
void |
PointsToMap.put(PointerKey key,
PointsToSetVariable v) |
protected void |
PropagationSystem.registerFixedSet(PointsToSetVariable p,
UnarySideEffect s) |
void |
PropagationGraph.removeVariable(PointsToSetVariable p) |
void |
UnarySideEffect.replaceFixedSet(PointsToSetVariable p)
Update the fixed points-to-set associated with this side effect.
|
protected void |
PropagationSystem.updateSideEffects(PointsToSetVariable p,
PointsToSetVariable rep) |
| Modifier and Type | Method and Description |
|---|---|
void |
PropagationGraph.addStatement(com.ibm.wala.fixedpoint.impl.GeneralStatement<PointsToSetVariable> eq) |
void |
PropagationGraph.addStatement(com.ibm.wala.fixpoint.IFixedPointStatement<PointsToSetVariable> statement) |
void |
PropagationGraph.addStatement(com.ibm.wala.fixpoint.UnaryStatement<PointsToSetVariable> eq) |
boolean |
PropagationGraph.containsStatement(com.ibm.wala.fixpoint.IFixedPointStatement<PointsToSetVariable> eq) |
boolean |
PropagationSystem.newConstraint(PointerKey lhs,
com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable> op,
PointerKey rhs) |
boolean |
PropagationSystem.newConstraint(PointerKey lhs,
com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable> op,
PointerKey rhs1,
PointerKey rhs2) |
boolean |
PropagationSystem.newConstraint(PointerKey lhs,
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> op,
PointerKey rhs)
NB: this is idempotent ...
|
boolean |
PropagationSystem.newFieldRead(PointerKey lhs,
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> op,
PointerKey rhs,
PointerKey container) |
boolean |
PropagationSystem.newFieldWrite(PointerKey lhs,
com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> op,
PointerKey rhs,
PointerKey container) |
void |
PropagationSystem.newSideEffect(com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable> op,
PointerKey[] arg0) |
void |
PropagationSystem.newSideEffect(com.ibm.wala.fixpoint.AbstractOperator<PointsToSetVariable> op,
PointerKey arg0,
PointerKey arg1) |
void |
PropagationSystem.newSideEffect(com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> op,
PointerKey arg0) |
void |
PropagationGraph.removeStatement(com.ibm.wala.fixpoint.IFixedPointStatement<PointsToSetVariable> eq) |
| Constructor and Description |
|---|
PropagationCallGraphBuilder.ArrayLoadOperator(PointsToSetVariable def) |
PropagationCallGraphBuilder.ArrayStoreOperator(PointsToSetVariable val) |
PropagationCallGraphBuilder.GetFieldOperator(IField field,
PointsToSetVariable def) |
PropagationCallGraphBuilder.PutFieldOperator(IField field,
PointsToSetVariable val) |
UnarySideEffect(PointsToSetVariable fixedSet) |
| Modifier and Type | Method and Description |
|---|---|
protected com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
BasicRTABuilder.makeDispatchOperator(CallSiteReference site,
CGNode node) |
protected abstract com.ibm.wala.fixpoint.UnaryOperator<PointsToSetVariable> |
AbstractRTABuilder.makeDispatchOperator(CallSiteReference site,
CGNode node) |
Copyright © 2015. All rights reserved.