Generating constrained random data with uniform distribution
Journal article, 2015

We present a technique for automatically deriving test data generators from a given executable predicate representing the set of values we are interested in generating. The distribution of these generators is uniform over values of a given size. To make the generation efficient, we rely on laziness of the predicate, allowing us to prune the space of values quickly. In contrast, implementing test data generators by hand is labour intensive and error prone. Moreover, handwritten generators often have an unpredictable distribution of values, risking that some values are arbitrarily underrepresented. We also present a variation of the technique that has better performance, but where the distribution is skewed in a limited, albeit predictable way. Experimental evaluation of the techniques shows that the automatically derived generators are much easier to define than handwritten ones, and their performance, while lower, is adequate for some realistic applications.

Author

Koen Lindström Claessen

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Jonas Almström Duregård

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Michal Palka

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Journal of Functional Programming

0956-7968 (ISSN) 1469-7653 (eISSN)

Vol. 25 e8

Subject Categories

Computer Science

DOI

10.1017/S0956796815000143