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.