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

Add a DeepState_TakeOver API that treats the rest of the program as a test case #6

Closed
pgoodman opened this issue Nov 3, 2017 · 0 comments
Assignees

Comments

@pgoodman
Copy link
Member

pgoodman commented Nov 3, 2017

One use case that @artemdinaburg raised was that he'd like to be able to introduce symbols into an existing program execution. Right now DeepState is very unit test focused -- i.e. run to DeepState_Run, then change control to one of the unit test case entry-points. Ideally we'd like to be able to treat the "rest of the program" as the test case, and basically get to use the DeepState API.

This means changing DeepState's behaviour slighty:

  • If execution reaches DeepState_Run, then it will go and look for all the test cases.
  • If execution reaches DeepState_TakeOver then we add some fake TestInfo structure (or maybe DeepState_TakeOver is a macro that calls a lower level function and passes in an initialized struct DeepState_TestInfo), then return 1 when under symbolic execution (by being hooked) and 0 by default in a native execution.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants