N
- The type of nodes in the interprocedural control-flow graph. Typically Unit
.D
- The type of data-flow facts to be computed by the tabulation problem.M
- The type of objects used to represent methods. Typically SootMethod
.I
- The type of inter-procedural control-flow graph being used.public class FlowFunctionDotExport<N,D,M,I extends InterproceduralCFG<N,M>>
extends java.lang.Object
SolverDebugConfiguration
and overridden SolverDebugConfiguration#recordEdges()
to return true.Constructor and Description |
---|
FlowFunctionDotExport(IDESolver<N,D,M,?,I> solver,
ItemPrinter<? super N,? super D,? super M> printer)
Constructor.
|
FlowFunctionDotExport(IDESolver<N,D,M,?,I> solver,
ItemPrinter<? super N,? super D,? super M> printer,
java.util.Set<M> methodWhitelist)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
dumpDotFile(java.lang.String fileName)
Write a graph representation of the flow functions computed by the solver
to the file indicated by fileName.
|
public FlowFunctionDotExport(IDESolver<N,D,M,?,I> solver, ItemPrinter<? super N,? super D,? super M> printer)
solver
- The solver instance to dump.printer
- The printer object to use to create the string representations of
the nodes, facts, and methods in the exploded super-graph.public FlowFunctionDotExport(IDESolver<N,D,M,?,I> solver, ItemPrinter<? super N,? super D,? super M> printer, java.util.Set<M> methodWhitelist)
solver
- The solver instance to dump.printer
- The printer object to use to create the string representations of
the nodes, facts, and methods in the exploded super-graph.methodWhitelist
- A set of methods of type M for which the full graphs should be printed.
Flow functions for which both unit endpoints are not contained in a method in methodWhitelist are not printed.
Callee/caller edges into/out of the methods in the set are still printed.public void dumpDotFile(java.lang.String fileName)
IDESolver.solve()
method called.fileName
- The output file to which to write the dot representation.