Loading...
Searching...
No Matches
shadow_memoryt Class Reference
The shadow memory instrumentation performed during symbolic execution.
More...
#include <shadow_memory.h>
+ Collaboration diagram for shadow_memoryt:
Initialize global-scope shadow memory for global/static variables.
Initialize global-scope shadow memory for string constants.
Initialize local-scope shadow memory for local variables and parameters.
Initialize global-scope shadow memory for dynamically allocated memory.
Symbolically executes a __CPROVER_get_field call.
Symbolically executes a __CPROVER_set_field call.
Static Public Member Functions
Gathers the available shadow memory field definitions (__CPROVER_field_decl calls) from the goto model.
Allocates and initializes a shadow memory field for the given original memory.
Registers a shadow memory field for the given original memory.
Static Private Member Functions
Converts a field declaration.
Detailed Description
The shadow memory instrumentation performed during symbolic execution.
Definition at line 36 of file shadow_memory.h.
Constructor & Destructor Documentation
◆ shadow_memoryt()
Member Function Documentation
◆ 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.
Member Data Documentation
◆ log
◆ ns
◆ symex_assign
The documentation for this class was generated from the following files: