Storage for symbolic execution paths to be resumed later. More...
#include <path_storage.h>
id, starting from minimum_index. Storage for symbolic execution paths to be resumed later.
This data structure supports saving partially-executed symbolic execution paths so that their execution can be halted and resumed later. The choice of which path should be resumed next is implemented by subtypes of this abstract class.
Definition at line 37 of file path_storage.h.
Definition at line 145 of file path_storage.h.
Generates a loop analysis for the instructions in goto_programt and keys it against function ID.
Definition at line 120 of file path_storage.h.
Clear all saved paths.
This is typically used because we want to terminate symbolic execution early. It doesn't matter too much in terms of memory usage since CBMC typically exits soon after we do that, however it's nice to have tests that check that the worklist is always empty when symex finishes.
Implemented in path_lifot, and path_fifot.
Is this storage empty?
Definition at line 88 of file path_storage.h.
Definition at line 131 of file path_storage.h.
Definition at line 147 of file path_storage.h.
Provide a unique L1 index for a given id, starting from minimum_index.
Definition at line 104 of file path_storage.h.
Definition at line 109 of file path_storage.h.
Reference to the next path to resume.
Definition at line 60 of file path_storage.h.
Remove the next path to resume from the storage.
Definition at line 78 of file path_storage.h.
Implemented in path_lifot, and path_fifot.
Implemented in path_lifot, and path_fifot.
Add a path to resume to the storage.
Implemented in path_lifot, and path_fifot.
How many paths does this storage contain?
Implemented in path_lifot, and path_fifot.
Counter for nondet objects, which require unique names.
Definition at line 94 of file path_storage.h.
Local variables are considered 'dirty' if they've had an address taken and therefore may be referred to by a pointer.
Definition at line 116 of file path_storage.h.
Storage used by get_unique_index.
Definition at line 161 of file path_storage.h.
Definition at line 162 of file path_storage.h.
Definition at line 138 of file path_storage.h.
Map function identifiers to local_safe_pointerst instances.
This is to identify derferences that are guaranteed to be safe in a given execution context, thus helping to avoid symex to follow spurious error-handling paths.
Definition at line 100 of file path_storage.h.