10
10
#define KLEE_INTERPRETER_H
11
11
12
12
#include " TerminationTypes.h"
13
+ #include " klee/ADT/SeedFromFile.h"
13
14
#include " klee/Module/Annotation.h"
14
15
15
16
#include " klee/Module/SarifReport.h"
@@ -200,18 +201,9 @@ class Interpreter {
200
201
// to record the symbolic path (as a stream of '0' and '1' bytes).
201
202
virtual void setSymbolicPathWriter (TreeStreamWriter *tsw) = 0;
202
203
203
- // supply a test case to replay from. this can be used to drive the
204
- // interpretation down a user specified path. use null to reset.
205
- virtual void setReplayKTest (const struct KTest *out) = 0;
206
-
207
- // supply a list of branch decisions specifying which direction to
208
- // take on forks. this can be used to drive the interpretation down
209
- // a user specified path. use null to reset.
210
- virtual void setReplayPath (const std::vector<bool > *path) = 0;
211
-
212
204
// supply a set of symbolic bindings that will be used as "seeds"
213
205
// for the search. use null to reset.
214
- virtual void useSeeds (const std::vector<struct KTest *> * seeds) = 0;
206
+ virtual void useSeeds (std::vector<SeedFromFile> seeds) = 0;
215
207
216
208
virtual void runFunctionAsMain (llvm::Function *f, int argc, char **argv,
217
209
char **envp) = 0;
@@ -237,6 +229,9 @@ class Interpreter {
237
229
virtual void getConstraintLog (const ExecutionState &state, std::string &res,
238
230
LogType logFormat = STP) = 0;
239
231
232
+ virtual void getSteppedInstructions (const ExecutionState &state,
233
+ unsigned &res) = 0;
234
+
240
235
virtual bool getSymbolicSolution (const ExecutionState &state, KTest &res) = 0;
241
236
242
237
virtual void addSARIFReport (const ExecutionState &state) = 0;
0 commit comments