Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State Introspection API #1736

Closed
6 tasks done
MatthewARinehart opened this issue Jun 18, 2020 · 0 comments · Fixed by #1775
Closed
6 tasks done

State Introspection API #1736

MatthewARinehart opened this issue Jun 18, 2020 · 0 comments · Fixed by #1775
Assignees

Comments

@MatthewARinehart
Copy link

MatthewARinehart commented Jun 18, 2020

Why

As a Manticore user, I'm frustrated by Manticore's apparent inactivity while it's running. If no warnings or debug messages are generated, I can't tell whether Manticore is making progress, or simply spinning its wheels.

To fix this, I need an APi that will let me see query what Manticore is doing during execution.

Acceptance Criteria

At any time from a script, a user can:

  • List the states and their IDs
  • View the current status of a state (Waiting for solver / Waiting for worker / Running / Killed / Terminated)
  • View the current program counter for a state and number of instructions executed
  • View the amount of time since the last status transition
    Stretch goals:
  • Provide a means to subclass the plugin that captures internal state
  • Register a callback that's called every n seconds when Manticore is executing

Dev Notes

We'll need to add state transition callbacks to the event system. Then we'll have a plugin running on the main thread that subscribes to all these events and maintains a model of the current state lists that doesn't require jumping across thread/process boundaries.

@ehennenfent ehennenfent changed the title Manticore has introspection API that can query current status of states State Introspection API Jun 19, 2020
@ehennenfent ehennenfent self-assigned this Jul 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants