From a2f3d603f4f661ef9b0aad2ddab2fa7db4f76627 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 22 Sep 2026 14:49:02 -0500 Subject: [PATCH] Add safe mode option, which sets the no_include flag for Kind 2 --- .../edu/uiowa/cs/clc/kind2/api/Kind2Api.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/edu/uiowa/cs/clc/kind2/api/Kind2Api.java b/src/main/java/edu/uiowa/cs/clc/kind2/api/Kind2Api.java index ae4432c..f798430 100644 --- a/src/main/java/edu/uiowa/cs/clc/kind2/api/Kind2Api.java +++ b/src/main/java/edu/uiowa/cs/clc/kind2/api/Kind2Api.java @@ -39,6 +39,8 @@ public class Kind2Api { private List otherOptions; + private Boolean safeMode; + // module smt private SolverOption smtSolver; private QESolverOption qeSmtSolver; @@ -129,6 +131,7 @@ public class Kind2Api { */ public Kind2Api() { otherOptions = new ArrayList<>(); + safeMode = false; smtSolver = null; qeSmtSolver = null; itpSmtSolver = null; @@ -764,10 +767,26 @@ public List getOptions() { options.add("--fake_filepath"); options.add(fakeFilepath); } + if (safeMode != null){ + options.add("--no_include"); + options.add(safeMode.toString()); + } options.addAll(this.otherOptions); return options; } + /** + * If called with true, enables safe mode for this API instance. + * Safe mode enables the following features: disabling the use of include statements, + * automatic use of docker containers for executions of Kind 2 (to be implemented) + *

+ * Default: false + * @param safeMode whether or not to enable safe mode. + */ + public void setSafeMode(boolean safeMode){ + this.safeMode = true; + } + /** * Set the main SMT solver *