Skip to content
Snippets Groups Projects
  1. Jun 24, 2022
  2. Jun 17, 2022
    • David Bühler's avatar
      [Inout] Records Inout results on all function calls for Eva. · b62c4e33
      David Bühler authored
      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.
      b62c4e33
  3. Jun 09, 2022
  4. May 31, 2022
  5. Apr 11, 2022
  6. Mar 11, 2022
  7. Mar 03, 2022
  8. Feb 23, 2022
  9. Feb 21, 2022
  10. Feb 17, 2022
  11. Feb 16, 2022
  12. Feb 15, 2022
  13. Oct 06, 2021
  14. May 21, 2021
  15. Feb 16, 2021
  16. Jan 21, 2021
  17. Sep 10, 2020
    • Virgile Prevosto's avatar
      [kernel] add support in the AST to identify check-and-forget annotations · 3486b24d
      Virgile Prevosto authored
      this is a generalization of `check` vs. `assert` to other annotations. Not all
      annotations are relevant though. Currently, there are more annotation nodes in
      the AST that can have a flag `{ tp_only_check }` than was deemed useful in
      pub/frama-c#25, but said flag can in fact safely be ignored. Moreover, this
      commit only add this flag in the AST, but provides no further mean to set it to
      true except for the original `check` keyword (i.e. on `AAssert`). The parser
      and the behavior of the plugins that can handle the flag will be updated in
      subsequent commits
      3486b24d
  18. Sep 08, 2020
  19. Sep 01, 2020
  20. Aug 28, 2020
  21. Apr 10, 2020
  22. Mar 06, 2020
  23. Jan 16, 2020
  24. Sep 27, 2019
  25. Sep 06, 2019
  26. Mar 29, 2019
  27. Mar 28, 2019
    • David Bühler's avatar
      [Eva] Base: rewrites is_valid_offset and valid_offset. · c82ea6d5
      David Bühler authored
      - shares and moves the functions [reduce_offset_by_validity] of Locations and
        Precise_locs into base.ml.
      - replaces the boolean argument ~for_writing into the new type access, that
        represents Read, Write or No_access. Without any access, offsets must point
        into or just beyond the base validity.
      - fixes the support of accesses of size 0: they are now invalid:
        + in bases with Invalid validity;
        + one past a base validity unless the base ends with an empty struct.
      c82ea6d5
  28. Feb 19, 2019
  29. Feb 05, 2019
Loading