Font Size: a A A

An Efficient and Trustworthy Theory Solver for Bit-vectors in Satisfiability Modulo Theories

Posted on:2016-08-22Degree:Ph.DType:Thesis
University:New York UniversityCandidate:Hadarean, LianaFull Text:PDF
GTID:2470390017470364Subject:Computer Science
Abstract/Summary:
As software and hardware systems grow in complexity, automated techniques for en- suring their correctness are becoming increasingly important. Many modern formal verification tools rely on back-end satisfiability modulo theories (SMT) solvers to dis- charge complex verification goals. These goals are usually formalized in one or more fixed first-order logic theories, such as the theory of fixed-width bit-vectors. The theory of bit-vectors offers a natural way of encoding the precise semantics of typical machine operations on binary data. The predominant approach to deciding the bit-vector theory is via eager reduction to propositional logic. While this often works well in practice, it does not scale well as the bit-width and number of operations increase. The first part of this thesis seeks to fill this gap, by exploring efficient techniques of solving bit-vector constraints that leverage the word-level structure. We propose two complementary approaches: an eager approach that takes full advantage of the solving power of off the shelf propositional logic solvers, and a lazy approach that combines on-the-fly algebraic reasoning with efficient propositional logic solvers. In the second part of the thesis, we propose a proof system for encoding automatically checkable refutation proofs in the theory of bit-vectors. These proofs can be automatically generated by the SMT solver, and act as a certificate for the correctness of the result.
Keywords/Search Tags:Theory, Bit-vectors, Efficient
Related items