Springer Nature
Browse
tacasart-SearchMC.zip (80.89 MB)

SearchMC: an approximate model counter using XOR streamlining techniques

Download (80.89 MB)
software
posted on 2018-04-12, 10:25 authored by Seonmo Kim, Stephen McCamant
SearchMC is an approximate model counter using XOR streamlining techniques. SearchMC takes an SMT (satisfiability modulo theories) formula or a CNF (conjunctive normal form) formula as input and gives a lower and a upper bound of the true model influence (log base 2 of the true model counts) with a given confidence level.

This zip file contains our main tool SearchMC, its dependent tools and packages. We also include comparison tools, ApproxMC-p and ApproxMC2. INSTRUCTIONS.txt explains how to install these tools, run them and replicate the result in the related TACAS 2018 paper: "Bit-Vector Model Counting using Statistical Estimation".

Each tool has a different license and you can find a license file in each tool's folder.

SearchMC code is in Perl language (.pl) and related tools and package script files are in various openly-accessible software languages such as C (.c, .h), C++ (.cpp), Python (.py) and Java (.java). All necessary tools (binary files) are provided in the root directory and their sources are in ./tools. SearchMC is implemented as a wrapper around an off-the-self bit-vector satisfiability solver that supports the SMT-LIB2 format.

Background
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. 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.

History

Research Data Support

Research data support provided by Springer Nature.