DFSEdgeTypes
, EdgeTypes
, DFSEdgeTypes
public 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_EDGE
BACKEDGE_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.