Skip to content

Extract SVM from Traverser #340

Open
@sergeypospelov

Description

@sergeypospelov

Description

Now Traverser contains not only methods for a Jimple traversal, but also methods for working with a SymbolicState. We should define a convenient API for working with SymbolicState and extract all existing methods from Traverser.

Most likely we will need to define new class SVMContext which encapsulates all the necessary information for working with SymbolicState.

Expected behavior

  • A convenient SVM API is designed and implemented.
  • Methods from Traverser are moved to the new class.
  • All usages of these methods (e.g., in wrappers) are refactored.
  • Enough documentation is provided.

Potential alternatives

Leave all functions related to SymbolicState in Traverser.kt

Context

See Traverser.kt. See this discussion on refactoring for more information.

Metadata

Metadata

Labels

comp-symbolic-engineIssue is related to the symbolic execution enginectg-enhancementNew feature, improvement or change requestctg-refactoringIssue related to refactoring process

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions