CRAIDec 21, 2017

Bit-Vector Model Counting using Statistical Estimation

arXiv:1712.07770v114 citations
Originality Incremental advance
AI Analysis

This incremental improvement addresses model counting for applications like probabilistic inference and security, but is domain-specific to SMT and SAT solvers.

The paper tackles the problem of approximate model counting for bit-vector SMT formulas, which is computationally difficult, by proposing a statistical estimation approach to refine probabilistic estimates during XOR streamlining, resulting in faster performance compared to previous methods.

Approximate model counting for bit-vector SMT formulas (generalizing \#SAT) has many applications such as probabilistic inference and quantitative information-flow security, but it is computationally difficult. Adding random parity constraints (XOR streamlining) and then checking satisfiability is an effective approximation technique, but it requires a prior hypothesis about the model count to produce useful results. We propose an approach inspired by statistical estimation to continually refine a probabilistic estimate of the model count for a formula, so that each XOR-streamlined query yields as much information as possible. We implement this approach, with an approximate probability model, as a wrapper around an off-the-shelf SMT solver or SAT solver. Experimental results show that the implementation is faster than the most similar previous approaches which used simpler refinement strategies. The technique also lets us model count formulas over floating-point constraints, which we demonstrate with an application to a vulnerability in differential privacy mechanisms.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes