3 research outputs found
Sound Probabilistic #SAT with Projection
We present an improved method for a sound probabilistic estimation of the
model count of a boolean formula under projection. The problem solved can be
used to encode a variety of quantitative program analyses, such as concerning
security of resource consumption. We implement the technique and discuss its
application to quantifying information flow in programs.Comment: In Proceedings QAPL'16, arXiv:1610.0769
Bit-Vector Model Counting using Statistical Estimation
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