Package com.ibm.wala.demandpa.alg
Class ContextSensitiveStateMachine
- java.lang.Object
-
- com.ibm.wala.demandpa.alg.ContextSensitiveStateMachine
-
- All Implemented Interfaces:
StateMachine<IFlowLabel>
public class ContextSensitiveStateMachine extends Object implements StateMachine<IFlowLabel>
A state machine for tracking calling context during a points-to query. Filters unrealizable paths.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ContextSensitiveStateMachine.BasicRecursionHandler
handles method recursion by only collapsing cycles of recursive calls observed during analysisstatic class
ContextSensitiveStateMachine.Factory
static interface
ContextSensitiveStateMachine.RecursionHandler
-
Nested classes/interfaces inherited from interface com.ibm.wala.demandpa.alg.statemachine.StateMachine
StateMachine.State
-
-
Field Summary
-
Fields inherited from interface com.ibm.wala.demandpa.alg.statemachine.StateMachine
ERROR
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CallStack
getStartState()
StateMachine.State
transition(StateMachine.State prevState, IFlowLabel label)
-
-
-
Method Detail
-
getStartState
public CallStack getStartState()
- Specified by:
getStartState
in interfaceStateMachine<IFlowLabel>
-
transition
public StateMachine.State transition(StateMachine.State prevState, IFlowLabel label) throws IllegalArgumentException, IllegalArgumentException
- Specified by:
transition
in interfaceStateMachine<IFlowLabel>
- Returns:
- the successor state of prevState for the transition labelled label,
or
null
if no such transition exists - Throws:
IllegalArgumentException
- See Also:
StatesMergedException
-
-