|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
Snapshot for array element assigns compliance (Phase 2B). More...
#include <contracts.h>
Public Attributes | |
| expr2tc | arr_ptr |
| Array pointer symbol (e.g. symbol2tc for "arr"). | |
| type2tc | arr_add_type |
| Result type of (arr + j) pointer-arithmetic. | |
| type2tc | elem_type |
| Element type (pointee of arr_ptr). | |
| std::vector< expr2tc > | declared_indices |
| Every index the clause names on this array: the witness assertion must excuse all of them, not just one (#7184). | |
| expr2tc | witness_idx |
| Nondet witness index symbol j. | |
| expr2tc | snapshot_sym |
| Snapshot symbol holding arr[j] pre-call value. | |
Snapshot for array element assigns compliance (Phase 2B).
For __ESBMC_assigns(arr[i], arr[k]), use one nondet witness index j to check that no element arr[j] outside the declared indices was modified.
| type2tc code_contractst::arr_elem_snapshot_t::arr_add_type |
Result type of (arr + j) pointer-arithmetic.
| expr2tc code_contractst::arr_elem_snapshot_t::arr_ptr |
Array pointer symbol (e.g. symbol2tc for "arr").
| std::vector<expr2tc> code_contractst::arr_elem_snapshot_t::declared_indices |
Every index the clause names on this array: the witness assertion must excuse all of them, not just one (#7184).
| type2tc code_contractst::arr_elem_snapshot_t::elem_type |
Element type (pointee of arr_ptr).
| expr2tc code_contractst::arr_elem_snapshot_t::snapshot_sym |
Snapshot symbol holding arr[j] pre-call value.
| expr2tc code_contractst::arr_elem_snapshot_t::witness_idx |
Nondet witness index symbol j.