Bit-Precise CHC Satisfiability Using Theory-Modular Reasoning
Omer Rappoport, Orna Grumberg, Yakir Vizel
Abstract
Deciding satisfiability of Constrained Horn Clauses (CHCs) modulo the theory of fixed-size bit-vectors (TB) is fundamental to bit-precise program verification. However, state-of-the-art CHC-solvers often struggle with TB, limiting scalability in bit-precise reasoning. We present Mosaic, a theory-modular framework for deciding satisfiability of CHCs modulo TB by combining reasoning in TB and the theory of Integer Arithmetic (TI). Given a CHC set modulo TB, Mosaic partitions it into two fragments interpreted over TB and TI. Moreover, it implements an algorithm that reasons about the fragments in a modular fashion, exchanges information between them via sound translations across theories, and determines satisfiability w.r.t. the original CHC set. We implemented a prototype of Mosaic using Z3 and Spacer and evaluated it on bit-manipulating benchmarks. Our evaluation shows that Mosaic significantly outperforms Spacer on these benchmarks.
Create a lesson
Related papers
MightyPPL : Towards model checking MTL
Hsi-Ming Ho, Shankara Narayanan Krishna, Khushraj Madnani et al.
Counting on Nowhere Dense Classes
Steffen van Bergerem, Nicole Schweikardt
Towards a Proof-Theoretic Analysis of Incorrect/Incomplete Proofs
Matthias Baaz, Mariami Gamsakhurdia
Descriptive Complexity in Lean: Completeness by First-Order Reductions
Pierre Senellart, Anton Gnatenko
Predictable Modelling and Analysis of Software-defined Vehicle Implementations
Pavlo Tokariev, Yosri Ayari, Julien Deantoni
Refining Timing Uncertainty from Logical Time Specification to Operation
Pavlo Tokariev, Julien Deantoni