Skip to content

Extract Traverser from UtBotSymbolicEngine #259

Closed
@sergeypospelov

Description

@sergeypospelov

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

No one assigned

    Labels

    comp-symbolic-engineIssue is related to the symbolic execution enginectg-refactoringIssue related to refactoring processpriority-top-focusTop priority chosen by dev team

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions