[Inout] Records Inout results on all function calls for Eva.
Eva relies on the inout plugin to ensure that a function call has not modified the values of its concrete arguments, meaning that at the end of the call, the values of formal parameters can be backward propagated to the corresponding concrete arguments. This is useful when the values of some parameters have been reduced by the call, for instance by some preconditions. To this end, Eva uses the Inout callback Record_Inout_Callbacks from Db, but this callback was only applied by Inout for functions whose body is analyzed. This commit modifies Inout to also record its result through this callback on functions interpreted by a builtin or a specification, thus allowing a precise backward propagation of the values of formal parameters to concrete arguments in all cases.
Showing
- src/plugins/e-acsl/tests/memory/oracle/init_function.res.oracle 0 additions, 2 deletions...ugins/e-acsl/tests/memory/oracle/init_function.res.oracle
- src/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle 0 additions, 12 deletionssrc/plugins/e-acsl/tests/memory/oracle/memsize.res.oracle
- src/plugins/inout/operational_inputs.ml 2 additions, 0 deletionssrc/plugins/inout/operational_inputs.ml
- tests/builtins/oracle/linked_list.1.res.oracle 2 additions, 2 deletionstests/builtins/oracle/linked_list.1.res.oracle
- tests/libc/oracle/signal_h.res.oracle 1 addition, 1 deletiontests/libc/oracle/signal_h.res.oracle
- tests/libc/oracle/stdlib_c.0.res.oracle 32 additions, 34 deletionstests/libc/oracle/stdlib_c.0.res.oracle
- tests/libc/oracle/stdlib_h.res.oracle 8 additions, 8 deletionstests/libc/oracle/stdlib_h.res.oracle
- tests/libc/oracle/time_h.res.oracle 0 additions, 2 deletionstests/libc/oracle/time_h.res.oracle
Loading
Please register or sign in to comment