DFSEdgeTypes, EdgeTypes, DFSEdgeTypespublic class SimplePathEnumerator extends java.lang.Object implements EdgeTypes, DFSEdgeTypes
FIXME: instead of storing the simple paths, should invoke a callback as each simple path is produced. That would save memory.
CFG| Modifier and Type | Field | Description |
|---|---|---|
static int |
DEFAULT_MAX_WORK |
Default number of steps to be performed in path enumeration.
|
BACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGEBACKEDGE_SOURCE_EDGE, BACKEDGE_TARGET_EDGE, CHECKED_EXCEPTIONS_FLAG, EXIT_EDGE, EXPLICIT_EXCEPTIONS_FLAG, FALL_THROUGH_EDGE, GOTO_EDGE, HANDLED_EXCEPTION_EDGE, IFCMP_EDGE, JSR_EDGE, RET_EDGE, RETURN_EDGE, START_EDGE, SWITCH_DEFAULT_EDGE, SWITCH_EDGE, UNHANDLED_EXCEPTION_EDGE, UNKNOWN_EDGE| Constructor | Description |
|---|---|
SimplePathEnumerator(CFG cfg,
int maxPaths) |
Constructor; max work is set to DEFAULT_MAX_WORK.
|
SimplePathEnumerator(CFG cfg,
int maxPaths,
int maxWork) |
Constructor.
|
| Modifier and Type | Method | Description |
|---|---|---|
SimplePathEnumerator |
enumerate() |
Enumerate the simple paths.
|
java.util.Iterator<java.util.List<Edge>> |
iterator() |
Iterate over simple paths.
|
public static final int DEFAULT_MAX_WORK
public SimplePathEnumerator(CFG cfg, int maxPaths, int maxWork)
cfg - the control flow graph to enumerate simple paths ofmaxPaths - maximum number of simple paths to findmaxWork - maximum number of steps to be performed in the path
enumeration (to handle exponential blowup of search space)public SimplePathEnumerator(CFG cfg, int maxPaths)
cfg - the control flow graph to enumerate simple paths ofmaxPaths - maximum number of simple paths to findpublic SimplePathEnumerator enumerate()
public java.util.Iterator<java.util.List<Edge>> iterator()
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.