Addresses Julien's review no.1:
- Interval inference and typing - Multi-dimensional arrays with ranges as indexes: - If the only range is the last index -> single call to builtin - Else -> not yet "arithmetic over set of pointers" (requires Mmodel modification) - Tests for struct - Richer pattern matching instead of is_trange - has_range -> Misc.is_range_free - Using Cil_const.make_logic_var_kind, Logic_const.taddrof, Logic_const.type_of_element and Logic_utils.mk_cast - [elt] @ list -> elt :: list - Options.fatal -> Options.abort - Comments: - On the Range Elimination operation - Describing the formula for the range-free term - Describing mmodel_call_with_ranges and mmodel_call_default
Showing
- src/plugins/e-acsl/interval.ml 6 additions, 1 deletionsrc/plugins/e-acsl/interval.ml
- src/plugins/e-acsl/misc.ml 22 additions, 0 deletionssrc/plugins/e-acsl/misc.ml
- src/plugins/e-acsl/misc.mli 6 additions, 0 deletionssrc/plugins/e-acsl/misc.mli
- src/plugins/e-acsl/mmodel_analysis.ml 9 additions, 1 deletionsrc/plugins/e-acsl/mmodel_analysis.ml
- src/plugins/e-acsl/tests/runtime/oracle/gen_ranges_in_builtins.c 71 additions, 0 deletions...gins/e-acsl/tests/runtime/oracle/gen_ranges_in_builtins.c
- src/plugins/e-acsl/tests/runtime/oracle/ranges_in_builtins.res.oracle 8 additions, 0 deletions...e-acsl/tests/runtime/oracle/ranges_in_builtins.res.oracle
- src/plugins/e-acsl/tests/runtime/ranges_in_builtins.c 21 additions, 1 deletionsrc/plugins/e-acsl/tests/runtime/ranges_in_builtins.c
- src/plugins/e-acsl/translate.ml 165 additions, 123 deletionssrc/plugins/e-acsl/translate.ml
- src/plugins/e-acsl/typing.ml 8 additions, 1 deletionsrc/plugins/e-acsl/typing.ml
Loading
Please register or sign in to comment