moralismercatus / crete

Open source concolic testing tool for binaries
1 stars 1 forks source link

SVM FSM doesn't handle resets properly #176

Open moralismercatus opened 7 years ago

moralismercatus commented 7 years ago

Scenario:

  1. A trace is being executed in _executesymbolic.
  2. The reset signal (for the next test) is sent from Dispatch. As a result, the queues will be cleared in SVMNode.
  3. The FSM is not reset. In fact, it's allowed to finish doing what it was.
  4. After _executesymbolic, _retrieveresult is executed. This will cause the queue to be filled with the previous test's test cases - clearly wrong.

A solution may be to delete and recreate the FSM when the reset command is received, as is done in VMNode. This will mean terminating Klee and handling all exceptions from AsyncTask properly.