54 Commits (5ec898a4f3a3f390fb2f87f7c2e16affa241b78e)

Author SHA1 Message Date
Jules Villard 5ec898a4f3 [pulse] suppress leaks that are not leaks due to pointer arithmetic
4 years ago
Jules Villard b7ee374d00 [pulse] values equal to live values are not dead
4 years ago
Jules Villard 312d4a2c0f [pulse] change the API of `simplify` to take `~can_be_pruned ~keep`
4 years ago
Jules Villard 7207e05682 [pulse] discard "pruned" atoms that refer to variables outside the pre
4 years ago
Jules Villard e549103d75 [pulse] use term_eqs
4 years ago
Jules Villard 5a363c9b07 [pulse][arith] small normalization improvement
4 years ago
Jules Villard 8602b709ef [pulse][arith] change bit shifts by a constant factor into multiplications
4 years ago
Jules Villard 8e9bc54c4a [pulse][arith] eval constant terms before other simplifications
4 years ago
Jules Villard d1b3e56574 [pulse] cap the size of literals in formulas
4 years ago
Jules Villard 2d83dfdcb0 [pulse] add a term_eqs field to formulas
4 years ago
Gabriela Cunha Sampaio 68b4b5cc27 [pulse] IsInstanceOf simplification for null obj
4 years ago
Jules Villard c07af055eb [topl] delete shallow implementations in favour of a single Pulse one
4 years ago
Jules Villard 30de9be354 [pulse] protect against Z exceptions
4 years ago
Jules Villard 36ebf276a3 [pulse] simplify IsInstanceOf inside sub-terms too
4 years ago
Jules Villard f56f18350d [pulse] bump base_fuel to 10 to avoid under-normalising formulas
4 years ago
Jules Villard 4436265f6b [pulse] fold linear normalization into normalization
4 years ago
Jules Villard 4bcf013859 [pulse] fix some new_eqs propagation issues
4 years ago
Ezgi Çiçek 432a970432 [refactor] Remove `then ()`
4 years ago
Gabriela Cunha Sampaio e739099a40 [pulse] Model for Java instanceof
4 years ago
Jules Villard 1a1668f2e1 [pulse] avoid division by zero
4 years ago
Gabriela Cunha Sampaio 97bce99c03 [pulse] Adding IsInstanceOf predicate
4 years ago
Jules Villard e7124511dc [pulse] use only known facts for variable substitutions
4 years ago
Jules Villard abc36fe97f [pulse] add a bunch of equal and compare functions
4 years ago
Jules Villard 77d508328f [pulse][formula] swap order of constant and linear sum
4 years ago
Jules Villard b5bd85c967 [pulse] quantifier elimination using var_eqs
4 years ago
Jules Villard 8b2b797136 [pulse] minor rename: eq -> lin_eq
4 years ago
Jules Villard ab2813e355 [pulse] canonicalize wrt equality relation
4 years ago
Jules Villard 98b562c844 [pulse][refactor] extract and reuse a `SatUnsat` module
4 years ago
Radu Grigore 009f3b651c [topl] Small steps in Pulse
4 years ago
Jules Villard 578583f2ab [pulse] check that new arithmetic facts are consistent with the heap
4 years ago
Jules Villard e1cadb12b0 [pulse] emit formula of path conditions in json output
4 years ago
Jules Villard 7fdb33b710 [pulse] report errors only when the PRUNE nodes along the path are true
5 years ago
Jules Villard b62c3f55b9 [pulse] fix fuel debug message
5 years ago
Radu Grigore 9591276541 [topl] Cheap port to Pulse.
5 years ago
Jules Villard 5cceead7ae [pulse] normalize again when we discover new linear eqs
5 years ago
Jules Villard 50b94dbbd6 [pulse] cleanup arithmetic
5 years ago
Jules Villard 8b23fee8f8 [pulse] refactor Atom.eval_atom
5 years ago
Jules Villard ecdb153579 [pulse] streamline atom normalization
5 years ago
Jules Villard 7df30b0c4e [pulse] preserve physical equality on var subst in LinArith
5 years ago
Jules Villard eb37d2ced5 [pulse] substitute entire linear expressions
5 years ago
Jules Villard 36af901d79 [pulse] normalize any linear atom
5 years ago
Jules Villard 69995cebb6 [pulse] add a Linear variant to terms
5 years ago
Jules Villard 45894a7dd9 [pulse] move LinArith before Term
5 years ago
Jules Villard 1d56705cd4 [pulse] evaluate all constant expressions
5 years ago
Jules Villard bcba7c8475 [pulse][minor] moving some arithmetic stuff around
5 years ago
Jules Villard af64d5dafe [pulse] detect when atoms become linear arithmetic
5 years ago
Jules Villard 3e7bf4343b [pulse] make unit tests more robust to adding more tests
5 years ago
Jules Villard 6fae5f641e [pulse] change constants to be rationals
5 years ago
Jules Villard 0433e9592e [pulse] new new arithmetic
5 years ago
Jules Villard 7b743ceb1a [pulse][formula] forget dead facts
5 years ago