Automatic Abstraction for Bit-Vector Relations

Recently, it has been shown how block-wise transferfunctions for linear template constraints can be derivedfor programs defined over piece-wise linear arithmetic.Quantifier elimination is then applied to find a directrelationship between the inputs and the outputs of a block.We extend this work towards bit-vector programs, i.e.programs whose semantics is defined over finite-precisionintegers, by operating in the computational domain ofpropositional Boolean formulae. The drawback of this methodis that it relies on existential quantification, whichinduces a computational bottleneck. To sidestep thiscomplexity, we present a novel method for computing transferfunctions that does not depend on quantifier elimination atall, but uses incremental SAT solving instead.