CBMC
|
#include "java_trace_validation.h"
#include <algorithm>
#include <goto-programs/goto_trace.h>
#include <util/byte_operators.h>
#include <util/expr_util.h>
#include <util/pointer_expr.h>
#include <util/simplify_expr.h>
#include <util/std_expr.h>
Go to the source code of this file.
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.
|
static |
Definition at line 133 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.
Definition at line 86 of file java_trace_validation.cpp.
|
static |
Definition at line 142 of file java_trace_validation.cpp.
bool check_member_structure | ( | const member_exprt & | expr | ) |
Definition at line 52 of file java_trace_validation.cpp.
|
static |
Definition at line 206 of file java_trace_validation.cpp.
|
static |
Definition at line 303 of file java_trace_validation.cpp.
bool check_struct_structure | ( | const struct_exprt & | expr | ) |
Definition at line 95 of file java_trace_validation.cpp.
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.
Definition at line 29 of file java_trace_validation.cpp.
Definition at line 60 of file java_trace_validation.cpp.
Definition at line 67 of file java_trace_validation.cpp.