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 classContextSensitiveStateMachine.BasicRecursionHandlerhandles method recursion by only collapsing cycles of recursive calls observed during analysisstatic classContextSensitiveStateMachine.Factorystatic interfaceContextSensitiveStateMachine.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 CallStackgetStartState()StateMachine.Statetransition(StateMachine.State prevState, IFlowLabel label)
-
-
-
Method Detail
-
getStartState
public CallStack getStartState()
- Specified by:
getStartStatein interfaceStateMachine<IFlowLabel>
-
transition
public StateMachine.State transition(StateMachine.State prevState, IFlowLabel label) throws IllegalArgumentException, IllegalArgumentException
- Specified by:
transitionin interfaceStateMachine<IFlowLabel>- Returns:
- the successor state of prevState for the transition labelled label,
or
nullif no such transition exists - Throws:
IllegalArgumentException- See Also:
StatesMergedException
-
-