|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.Compiler.Dataflow.Problem
public abstract class Problem
Problem
Constructor Summary | |
---|---|
Problem()
|
Method Summary | |
---|---|
Fact |
apply(TransferFunction tf,
Fact f)
Applies the transfer function to the given dataflow value, yielding another dataflow value. |
abstract Fact |
boundary()
Returns the boundary value for this dataflow problem. |
TransferFunction |
closure(TransferFunction tf)
Returns the closure of the given transfer function. |
boolean |
compare(Fact f1,
Fact f2)
Compares two dataflow facts, returning true if they are equal and false otherwise. |
TransferFunction |
compose(TransferFunction tf1,
TransferFunction tf2)
Returns the composition of two transfer functions. |
abstract boolean |
direction()
Returns true if this is a forward dataflow problem, false if it is a backward dataflow problem. |
abstract TransferFunction |
getTransferFunction(Object e)
Returns the transfer function for the given code element. |
void |
initialize(jwutil.graphs.Graph g)
Performs necessary initialization for this dataflow problem. |
abstract Fact |
interior()
Returns the value that the interior points should be initialized to. |
Fact |
merge(Fact f1,
Fact f2)
Combines two dataflow values, returning a new value that is the confluence of the two. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Problem()
Method Detail |
---|
public void initialize(jwutil.graphs.Graph g)
g
- graph of locations that we will run overpublic abstract boolean direction()
public abstract Fact boundary()
public abstract Fact interior()
public abstract TransferFunction getTransferFunction(Object e)
e
- code element
public Fact apply(TransferFunction tf, Fact f)
tf
- transfer functionf
- dataflow value
public boolean compare(Fact f1, Fact f2)
f1
- first factf2
- second fact
public Fact merge(Fact f1, Fact f2)
f1
- first factf2
- second fact
public TransferFunction compose(TransferFunction tf1, TransferFunction tf2)
tf1
- first transfer functiontf2
- second transfer function
public TransferFunction closure(TransferFunction tf)
tf
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |