From 088487330da284c743971f4eb4dd1f57abe4984b Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Thu, 30 Mar 2023 20:06:20 +0900 Subject: Save exited states' formula --- lib/Core/Executor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/Core/Executor.cpp') diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 5194aff2..de22d006 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -3346,7 +3346,8 @@ void Executor::updateStates(ExecutionState *current) { if (it3 != seedMap.end()) seedMap.erase(it3); processTree->remove(es->ptreeNode); - delete es; + if (es->formula.empty()) + delete es; } removedStates.clear(); } @@ -3680,6 +3681,8 @@ void Executor::terminateStateOnExit(ExecutionState &state) { terminationTypeFileExtension(StateTerminationType::Exit).c_str()); interpreterHandler->incPathsCompleted(); + getConstraintLog(state, state.formula, Interpreter::SMTLIB2); + exitStates.insert(&state); terminateState(state); } -- cgit 1.4.1