[Link to slides] [Link to BibTeX entry]

Lazy generation of canonical programs

Jason S. Reich and Matthew Naylor and Colin Runciman

Presented at the 23rd Symposium on Implementation and Application of Functional Languages, October 2011.


Abstract:

Property-based testing can be a highly effective form of lightweight verification, but it relies critically on the method used to generate test cases. If we need to test properties of compilers and related tools we should like to have a generator for source programs as test cases. We describe experiments generating functional programs in a core first- order language with algebraic data types. Candidate programs are generated freely over a syntactic representation with positional names. Static conditions for program validity and canonical representatives of a large equivalence classes are defined quite separately.

Our goal is an exhaustive enumeration of all valid canonically represent- ative programs up to some small but useful size.

[Back to index]