# Automatic Synthesis of Random Generators for Numerically Constrained Algebraic Recursive Types

@article{Ziat2022AutomaticSO, title={Automatic Synthesis of Random Generators for Numerically Constrained Algebraic Recursive Types}, author={Ghiles Ziat and Vincent Botbol and Matthieu Dien and Arnaud Gotlieb and Martin P'epin and Catherine Dubois}, journal={ArXiv}, year={2022}, volume={abs/2208.12747} }

. In program veriﬁcation, constraint-based random testing is a powerful technique which aims at generating random test cases that satisfy functional properties of a program. However, on recursive constrained data-structures (e.g., sorted lists, binary search trees, quadtrees), and, more generally, when the structures are highly constrained, generating uniformly distributed inputs is diﬃcult. In this paper, we present Testify: a framework in which users can deﬁne algebraic data-types dec-orated…

## References

SHOWING 1-10 OF 35 REFERENCES

### FocalTest: A Constraint Programming Approach for Property-Based Testing

- Computer ScienceICSOFT
- 2010

This paper proposes a technique and tool called FocalTest, which adopt a test-and-generate approach through the usage of constraint reasoning, which utilizes the property to prune the search space during the test data generation process.

### Boltzmann Samplers for the Random Generation of Combinatorial Structures

- Mathematics, Computer ScienceCombinatorics, Probability and Computing
- 2004

A surprisingly simple framework for the random generation of combinatorial configurations based on what the authors call Boltzmann models is proposed, which can be implemented easily, be analysed mathematically with great precision, and, when suitably tuned, tend to be very efficient in practice.

### A Linear Algorithm for the Random Sampling from Regular Languages

- Computer ScienceAlgorithmica
- 2010

This work presents the first linear algorithm for the random sampling from regular languages, which has worst-case space bit-complexity O(n) and mean time bit- complexes O( n) and is combined with a new divide-and-conquer scheme.

### Solution sampling with random table constraints

- Computer ScienceConstraints
- 2022

This paper proposes an algorithm, inspired from Meel's ApproxMC algorithm on SAT, to add hashing constraints to a CP model in order to split the search space into small cells, and ensures the randomness by introducing a new family of hashing constraints: randomly generated tables, which keeps the cost of the hashing process tractable.

### Property-Based Test Case Generators for Free

- Computer ScienceTAP@FM
- 2019

This work proposes an approach to relieve the programmer from the task of writing generators and allows the automatic, efficient generation of input test values that satisfy a given specification.

### Generic Programming in OCaml

- Computer ScienceML/OCAML
- 2016

This work presents a library for generic programming in OCAML, adapting some techniques borrowed from other functional languages, and presents a type-safe deserialization function that respects type abstraction.

### QuickCheck Testing for Fun and Profit

- EducationPADL
- 2007

One of the nice things about purely functional languages is that functions often satisfy simple properties, and enjoy simple algebraic relationships. Indeed, if the functions of an API satisfy…

### Generating good generators for inductive relations

- Computer ScienceProc. ACM Program. Lang.
- 2018

This work shows how to use ideas from narrowing to compile a large subclass of Coq's inductive relations into efficient generators, avoiding the interpretive overhead of previous implementations.