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.
|
| |
| 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.
|
| |
| void | symex_field_local_init (goto_symex_statet &state, const ssa_exprt &expr) |
| | Initialize local-scope shadow memory for local variables and parameters.
|
| |
| 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.
|
| |
| void | symex_get_field (goto_symex_statet &state, const exprt &lhs, const exprt::operandst &arguments) |
| | Symbolically executes a __CPROVER_get_field call.
|
| |
| void | symex_set_field (goto_symex_statet &state, const exprt::operandst &arguments) |
| | Symbolically executes a __CPROVER_set_field call.
|
| |
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: