CBMC
|
Go to the source code of this file.
Macros | |
#define | OPT_JAVA_TRACE_VALIDATION |
#define | HELP_JAVA_TRACE_VALIDATION |
Functions | |
void | check_trace_assumptions (const goto_tracet &trace, const namespacet &ns, const messaget &log, const bool run_check=false, const validation_modet vm=validation_modet::INVARIANT) |
Checks that the structure of each step of the trace matches certain criteria. More... | |
bool | check_symbol_structure (const exprt &expr) |
std::optional< symbol_exprt > | get_inner_symbol_expr (exprt expr) |
Recursively extracts the first operand of an expression until it reaches a symbol and returns it, or returns an empty optional. More... | |
bool | check_member_structure (const member_exprt &expr) |
bool | valid_lhs_expr_high_level (const exprt &lhs) |
bool | valid_rhs_expr_high_level (const exprt &rhs) |
bool | can_evaluate_to_constant (const exprt &expression) |
bool | check_index_structure (const exprt &index_expr) |
bool | check_struct_structure (const struct_exprt &expr) |
bool | check_address_structure (const address_of_exprt &address) |
bool | check_constant_structure (const constant_exprt &constant_expr) |
#define HELP_JAVA_TRACE_VALIDATION |
Definition at line 30 of file java_trace_validation.h.
#define OPT_JAVA_TRACE_VALIDATION |
Definition at line 27 of file java_trace_validation.h.
bool can_evaluate_to_constant | ( | const exprt & | expression | ) |
Definition at line 78 of file java_trace_validation.cpp.
bool check_address_structure | ( | const address_of_exprt & | address | ) |
Definition at line 118 of file java_trace_validation.cpp.
bool check_constant_structure | ( | const constant_exprt & | constant_expr | ) |
Definition at line 124 of file java_trace_validation.cpp.
bool check_index_structure | ( | const exprt & | index_expr | ) |
Definition at line 86 of file java_trace_validation.cpp.
bool check_member_structure | ( | const member_exprt & | expr | ) |
Definition at line 52 of file java_trace_validation.cpp.
bool check_struct_structure | ( | const struct_exprt & | expr | ) |
Definition at line 95 of file java_trace_validation.cpp.
bool check_symbol_structure | ( | const exprt & | expr | ) |
Definition at line 21 of file java_trace_validation.cpp.
void check_trace_assumptions | ( | const goto_tracet & | trace, |
const namespacet & | ns, | ||
const messaget & | log, | ||
const bool | run_check = false , |
||
const validation_modet | vm = validation_modet::INVARIANT |
||
) |
Checks that the structure of each step of the trace matches certain criteria.
If it does not, throw an error. Intended to be called by the caller of build_goto_trace, for example java_multi_path_symex_checkert::build_full_trace()
Definition at line 314 of file java_trace_validation.cpp.
std::optional<symbol_exprt> get_inner_symbol_expr | ( | exprt | expr | ) |
Recursively extracts the first operand of an expression until it reaches a symbol and returns it, or returns an empty optional.
Definition at line 39 of file java_trace_validation.cpp.
bool valid_lhs_expr_high_level | ( | const exprt & | lhs | ) |
Definition at line 60 of file java_trace_validation.cpp.
bool valid_rhs_expr_high_level | ( | const exprt & | rhs | ) |
Definition at line 67 of file java_trace_validation.cpp.