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 and Description |
---|---|
static int |
DEFAULT_MAX_WORK
Default number of steps to be performed in path enumeration.
|
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
BACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGE
Constructor and 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 and 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.