Golia, P., Soos, M., Chakraborty, S., & Meel, K. S. (2021). Designing Samplers is Easy: The Boon of Testers. In Proceedings of the 21st Conference on Formal Methods in Computer-Aided Design – FMCAD 2021 (pp. 222–230). TU Wien Academic Press. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_31
Given a formula φ, the problem of uniform sampling
seeks to sample solutions of φ uniformly at random. Uniform
sampling is a fundamental problem with a wide variety of applications.
The computational intractability of uniform sampling
has led to the development of several samplers that heavily rely
on heuristics and are not accompanied by theoretical analysis
of their distribution. Recently, Chakraborty and Meel (2019)
designed the first scalable sampling tester, Barbarik, based on
a grey-box sampling technique for testing if the distribution,
according to which the given sampler is sampling, is close to
the uniform or far from uniform. While the theoretical analysis
of Barbarik provides only unconditional soundness guarantees,
the empirical evaluation of Barbarik did show its success in
determining that some of the off-the-shelf samplers were far from
a uniform sampler.
The availability of Barbarik has the potential to spur development
of samplers techniques such that developers can
design sampling methods that can be accepted by Barbarik
even though these samplers may not be amenable to a detailed
mathematical analysis. In this paper, we present the realization
of this aforementioned promise. Based on the flexibility offered
by CryptoMiniSat, we design a sampler CMSGen that promises
the achievement of sweet spot of the quality of distributions and
runtime performance. In particular, CMSGen achieves significant
runtime performance improvement over the existing samplers.
We conduct two case studies, and demonstrate that the usage of
CMSGen leads to significant runtime improvements in the context
of combinatorial testing and functional synthesis.
A salient strength of our work is the simplicity of CMSGen,
which stands in contrast to complicated algorithmic schemes
developed in the past that fail to attain the desired quality of
distributions with practical runtime performance.