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 verification, 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 difficult. In this paper, we present Testify: a framework in which users can define 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.