Finding Good Generators with Multi-Armed Bandits
Property-Based Testing in the style of QuickCheck has proven to be a very powerful and useful generalization of traditional software testing techniques such as unit testing. This power comes at the cost of requiring users to occasionally write generators: programs which emit random data satisfying the invariants assumed by the program under test. While some work exists to derive these generators directly from the invariants in question, this work is mostly focused on highly structured data, and often fails to handle the kinds of numerical invariants that occur commonly in systems programming tasks. In this extended abstract, we present an approach to inferring generators for a restricted class of numerical properties.