Modifier and Type | Interface and Description |
---|---|
interface |
Analysis<N,E,G extends Graph<N,E,?>,A extends Assumption<A>>
A simple, non-transforming flow analysis.
|
class |
AnalysisSolver<N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>>
A solver to solve all kinds of analyses defined in the package.
|
interface |
Assumption<Self extends Assumption<?>>
Assumptions are members of the lattice used in the analysis.
|
interface |
AssumptionMap<E,A extends Assumption<A>> |
interface |
FlowFunction<N,E,G extends Graph<N,E,?>,A extends Assumption<A>>
A flow function receives node assumptions and transforms them according to
node semantics.
|
interface |
IntegratedAnalysis<N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>>
Integrated analysis combines analysis with transformation as described in
Lerner et al.
|
interface |
IntegratedFlowFunction<N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>>
Integrated flow function should either interpret the node, or produce
node transformation based on already computed assumptions.
|
interface |
TransformationFunction<N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>>
Transformation function defines an optional transformation of a graph node
based on node assumptions.
|
Modifier and Type | Class and Description |
---|---|
static class |
CombinedIntegratedAnalysis.CombinedAssumption
Combined assumption which holds vector of original assumptions.
|
Modifier and Type | Method and Description |
---|---|
static <A extends Assumption<A>> |
AssumptionUtil.equals(A a1,
A a2)
Check assumptions for equality.
|
static <A extends Assumption<A>> |
AssumptionUtil.join(A a1,
A a2)
Join assumptions.
|
static <E,A extends Assumption<A>> |
AssumptionUtil.join(List<E> edges,
AssumptionMap<E,A> assumptionMap) |
static <E,A extends Assumption<A>> |
AssumptionUtil.setAssumptions(List<E> edges,
A assumption,
AssumptionMap<E,A> assumptionMap) |
static <E,A extends Assumption<A>> |
AssumptionUtil.setAssumptions(List<E> edges,
List<A> assumptions,
AssumptionMap<E,A> assumptionMap) |
static <N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>> |
AnalysisSolver.solve(G g,
Analysis<N,E,G,A> analysis,
boolean forward)
Solve a non-integrated analysis.
|
static <N,E,T,G extends Graph<N,E,T>,A extends Assumption<A>> |
AnalysisSolver.solveIntegrated(G g,
IntegratedAnalysis<N,E,T,G,A> analysis,
boolean forward)
Solve a integrated analysis.
|
static <E,A extends Assumption<A>> |
AssumptionUtil.toString(List<E> inEdges,
List<E> outEdges,
AssumptionMap<E,A> assumptionMap) |
Constructor and Description |
---|
CombinedAssumption(List<Assumption<?>> assumptions) |
Modifier and Type | Class and Description |
---|---|
class |
AssumptionsPrinter<A extends Assumption<A>>
Special CfgPrinter implementation which prints assumptions along every edge.
|
Modifier and Type | Class and Description |
---|---|
class |
ConstantsAssumption
Assumptions for ConstantsAnalysis.
|
Modifier and Type | Class and Description |
---|---|
class |
CopyAssumption
Assumption class for CopyAnalysis.
|
Modifier and Type | Class and Description |
---|---|
class |
LivenessAssumption
Assumption for LivenessAnalysis.
|
Modifier and Type | Class and Description |
---|---|
class |
UnreachableAssumptions |
Copyright © 2018. All rights reserved.