The shadow memory instrumentation performed during symbolic execution.
More...
#include <shadow_memory.h>
|
| shadow_memoryt (const std::function< void(goto_symex_statet &, const exprt &, const exprt &)> symex_assign, const namespacet &ns, message_handlert &message_handler) |
|
void | symex_field_static_init (goto_symex_statet &state, const ssa_exprt &lhs) |
| Initialize global-scope shadow memory for global/static variables. More...
|
|
void | symex_field_static_init_string_constant (goto_symex_statet &state, const ssa_exprt &expr, const exprt &rhs) |
| Initialize global-scope shadow memory for string constants. More...
|
|
void | symex_field_local_init (goto_symex_statet &state, const ssa_exprt &expr) |
| Initialize local-scope shadow memory for local variables and parameters. More...
|
|
void | symex_field_dynamic_init (goto_symex_statet &state, const exprt &expr, const side_effect_exprt &code) |
| Initialize global-scope shadow memory for dynamically allocated memory. More...
|
|
void | symex_get_field (goto_symex_statet &state, const exprt &lhs, const exprt::operandst &arguments) |
| Symbolically executes a __CPROVER_get_field call. More...
|
|
void | symex_set_field (goto_symex_statet &state, const exprt::operandst &arguments) |
| Symbolically executes a __CPROVER_set_field call. More...
|
|
The shadow memory instrumentation performed during symbolic execution.
Definition at line 36 of file shadow_memory.h.
◆ shadow_memoryt()
◆ add_field()
Registers a shadow memory field for the given original memory.
- Parameters
-
state | The symex state |
expr | The expression for which shadow memory should be allocated |
field_name | The field name |
field_type | The field type |
- Returns
- The resulting shadow memory symbol expression
Definition at line 67 of file shadow_memory.cpp.
◆ convert_field_declaration()
Converts a field declaration.
- Parameters
-
code_function_call | The __CPROVER_field_decl_* call |
fields | The field declaration to be extended |
is_global | True if the declaration is global |
message_handler | For logging |
Definition at line 509 of file shadow_memory.cpp.
◆ gather_field_declarations()
Gathers the available shadow memory field definitions (__CPROVER_field_decl calls) from the goto model.
- Parameters
-
goto_model | The goto model |
message_handler | For logging |
- Returns
- The field definitions
Definition at line 461 of file shadow_memory.cpp.
◆ initialize_shadow_memory()
Allocates and initializes a shadow memory field for the given original memory.
- Parameters
-
state | The symex state |
expr | The expression for which shadow memory should be allocated |
fields | The field definition to be used |
Definition at line 28 of file shadow_memory.cpp.
◆ symex_field_dynamic_init()
Initialize global-scope shadow memory for dynamically allocated memory.
- Parameters
-
state | The symex state |
expr | The dynamic object symbol expression |
code | The allocation side effect code |
Definition at line 449 of file shadow_memory.cpp.
◆ symex_field_local_init()
Initialize local-scope shadow memory for local variables and parameters.
- Parameters
-
state | The symex state |
expr | The declared symbol expression |
Definition at line 406 of file shadow_memory.cpp.
◆ symex_field_static_init()
Initialize global-scope shadow memory for global/static variables.
- Parameters
-
state | The symex state |
lhs | The LHS expression of the initializer assignment |
Definition at line 343 of file shadow_memory.cpp.
◆ symex_field_static_init_string_constant()
Initialize global-scope shadow memory for string constants.
- Parameters
-
state | The symex state |
expr | The defined symbol expression |
rhs | The RHS expression of the initializer assignment |
Definition at line 381 of file shadow_memory.cpp.
◆ symex_get_field()
Symbolically executes a __CPROVER_get_field call.
- Parameters
-
state | The symex state |
lhs | The LHS of the call |
arguments | The call arguments |
Definition at line 194 of file shadow_memory.cpp.
◆ symex_set_field()
Symbolically executes a __CPROVER_set_field call.
- Parameters
-
state | The symex state |
arguments | The call arguments |
Definition at line 91 of file shadow_memory.cpp.
◆ log
◆ ns
◆ symex_assign
The documentation for this class was generated from the following files: