1. 22 Feb, 2016 1 commit
  2. 19 Feb, 2016 1 commit
  3. 05 Feb, 2016 9 commits
  4. 04 Feb, 2016 1 commit
    • Johannes Kanig's avatar
      N127-001 improve performance on fastWP · 2afdad2c
      Johannes Kanig authored
      On N121-024 we fixed a bug where a state was incorrectly reused during
      merge. The fix was to never reuse state when merging. This resulted in a
      performance drop.
      
      The new fix now marks states which should not be reused - basically
      states that come from raise - and when such a state is present during
      merging, we don't reuse. Otherwise, we reuse.  This seems to get us the
      performance and passes all tests.
      
      Marking is implemented simply by a flag in states
      
      * mlw_wp.ml:
      (mark) allows to set the marked flag of a state
      (empty) empty state is not marked
      (havoc) havoc doesn't change marked state
      (merge_vars, merge_regs) new argument "marked", only create a new
        variable when marked is true, otherwise reuse
      (fast_wp) in the case of Eraise, mark the used state
      
      M415-042 pass labels down to conjunctions
      
      Why3 parser groups the loop invariants into a single formula. This patch
      allows to have the VC labels on every conjunct
      
      mlw_wp.ml
      (fastwp) call wp_expl instead of t_label
      2afdad2c
  5. 02 Feb, 2016 1 commit
  6. 01 Feb, 2016 1 commit
  7. 26 Jan, 2016 1 commit
  8. 25 Jan, 2016 1 commit
  9. 23 Jan, 2016 1 commit
  10. 18 Jan, 2016 2 commits
  11. 17 Jan, 2016 1 commit
  12. 13 Jan, 2016 1 commit
  13. 12 Jan, 2016 2 commits
  14. 10 Jan, 2016 1 commit
    • Andrei Paskevich's avatar
      Mlw_expr: fix potentially unsound pattern matching in programs · eda92a0b
      Andrei Paskevich authored
      split the ppat_ghost field in program patterns into two distinct
      conditions:
      - ppat_ghost, indicating that the pattern starts as ghost,
        meaning that all variables in it are ghost, too;
      - ppat_fail, meaning that the pattern contains a refutable
        ghost subpattern, which makes the match in the extracted code
        impossible, which makes the whole match expression ghost.
      
      Until now, the two conditions were disjunctively combined, making
      admissible the invalid pattern matching in bench/p/b-d/ghost4.mlw.
      eda92a0b
  15. 08 Jan, 2016 1 commit
  16. 04 Jan, 2016 1 commit
  17. 16 Dec, 2015 1 commit
  18. 15 Dec, 2015 2 commits
  19. 11 Dec, 2015 4 commits
  20. 10 Dec, 2015 3 commits
  21. 09 Dec, 2015 1 commit
  22. 04 Dec, 2015 1 commit
  23. 25 Nov, 2015 2 commits