CBMC
|
Generates string constraints to link results from string functions with their arguments. More...
#include "string_constraint_generator.h"
#include "string_refinement_invariant.h"
#include <iterator>
#include <util/arith_tools.h>
#include <util/deprecate.h>
#include <util/interval_constraint.h>
#include <util/mathematical_expr.h>
#include <util/simplify_expr.h>
#include <util/ssa_expr.h>
#include <util/string_constant.h>
Go to the source code of this file.
Functions | |
exprt | sum_overflows (const plus_exprt &sum) |
void | merge (string_constraintst &result, string_constraintst other) |
Merge two sets of constraints by appending to the first one. More... | |
signedbv_typet | get_return_code_type () |
static irep_idt | get_function_name (const function_application_exprt &expr) |
exprt | is_positive (const exprt &x) |
exprt | minimum (const exprt &a, const exprt &b) |
exprt | maximum (const exprt &a, const exprt &b) |
exprt | zero_if_negative (const exprt &expr) |
Returns a non-negative version of the argument. More... | |
Generates string constraints to link results from string functions with their arguments.
This is inspired by the PASS paper at HVC'13: "PASS: String Solving with Parameterized Array and Interval Automaton" by Guodong Li and Indradeep Ghosh, which gives examples of constraints for several functions.
Definition in file string_constraint_generator_main.cpp.
|
static |
Definition at line 187 of file string_constraint_generator_main.cpp.
signedbv_typet get_return_code_type | ( | ) |
Definition at line 182 of file string_constraint_generator_main.cpp.
x | an expression |
x
is positive Definition at line 341 of file string_constraint_generator_main.cpp.
Definition at line 404 of file string_constraint_generator_main.cpp.
void merge | ( | string_constraintst & | result, |
string_constraintst | other | ||
) |
Merge two sets of constraints by appending to the first one.
Definition at line 101 of file string_constraint_generator_main.cpp.
Definition at line 399 of file string_constraint_generator_main.cpp.
exprt sum_overflows | ( | const plus_exprt & | sum | ) |
Definition at line 40 of file string_constraint_generator_main.cpp.
Returns a non-negative version of the argument.
expr | expression of which we want a non-negative version |
max(0, expr)
Definition at line 412 of file string_constraint_generator_main.cpp.