Closed
Description
Description
Now UtBotSymbolicEngine
class consists of Soot traversing logic, working with symbolic variables and working with the state queue. We need to separate this logic into different classes. The first thing to do is to extract the traversal logic, as well as the logic of working with symbolic variables, into separate Traverser
class.
This changes also requires ExecutionState
to be refactored. We need somehow to distinguish different type of states, so it's proposed to define a common state interface and make inheritors:
- TerminalState
- ExecutionState
Expected behavior
UtBotSymboicEngine.kt
is split into two parts:
- UtBotSymbolicEngine.kt
- Traverser.kt
ExecutionState
is refactored.
Potential alternatives
Leave all as it is.
Context
See this discussion on refactoring for more information.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done