Skip to content

Commit b861c23

Browse files
committed
String refinement: support pointers
We need to use bv_pointerst to convert address_of expressions.
1 parent 9b96404 commit b861c23

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

jbmc/regression/strings-smoke-tests/java_set_length/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
KNOWNBUG
1+
CORE
22
test_set_length
33
--function test_set_length.main --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
44
^EXIT=10$

src/solvers/strings/string_constraint.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Author: Diffblue Ltd.
1111
#include <util/namespace.h>
1212
#include <util/symbol_table.h>
1313

14-
#include <solvers/flattening/boolbv.h>
14+
#include <solvers/flattening/bv_pointers.h>
1515
#include <solvers/sat/satcheck.h>
1616

1717
/// Runs a solver instance to verify whether an expression can only be
@@ -24,7 +24,7 @@ static bool cannot_be_neg(const exprt &expr, message_handlert &message_handler)
2424
satcheck_no_simplifiert sat_check(message_handler);
2525
symbol_tablet symbol_table;
2626
namespacet ns(symbol_table);
27-
boolbvt solver{ns, sat_check, message_handler};
27+
bv_pointerst solver{ns, sat_check, message_handler};
2828
const exprt zero = from_integer(0, expr.type());
2929
const binary_relation_exprt non_neg(expr, ID_lt, zero);
3030
solver << non_neg;

src/solvers/strings/string_refinement.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1912,7 +1912,7 @@ static optionalt<exprt> find_counter_example(
19121912
message_handlert &message_handler)
19131913
{
19141914
satcheck_no_simplifiert sat_check(message_handler);
1915-
boolbvt solver(ns, sat_check, message_handler);
1915+
bv_pointerst solver(ns, sat_check, message_handler);
19161916
solver << axiom;
19171917

19181918
if(solver() == decision_proceduret::resultt::D_SATISFIABLE)

0 commit comments

Comments
 (0)