You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
elseif m' =:Z.zero && c' =:Z.one &&Z.rem m (Z.of_int 2) =:Z.zero then
(* x & 1 and x == c (mod 2*z) *)
(* Value is equal to LSB of c *)
Some (Z.logand c c', Z.zero)
The int domain property-based tests check lattice properties (like commutativity of join) and abstraction properties (like abstract logand overapproximates concrete logand) but not properties like commutativity of logand. Such property-based tests could be added for many int domain abstract operations for commutativity, associativity, etc.
The text was updated successfully, but these errors were encountered:
For example, def_exc domain implements
logand
in a non-commutative way:analyzer/src/cdomain/value/cdomains/intDomain.ml
Lines 2280 to 2291 in 9a8dd4e
Same for intervals:
analyzer/src/cdomain/value/cdomains/intDomain.ml
Lines 826 to 835 in 9a8dd4e
And congruences:
analyzer/src/cdomain/value/cdomains/intDomain.ml
Lines 3094 to 3104 in 9a8dd4e
The int domain property-based tests check lattice properties (like commutativity of
join
) and abstraction properties (like abstractlogand
overapproximates concretelogand
) but not properties like commutativity oflogand
. Such property-based tests could be added for many int domain abstract operations for commutativity, associativity, etc.The text was updated successfully, but these errors were encountered: