Since the introduction of QuickCheck, property based testing has proven to be effective for the discovery of bugs. However, defining the properties to test is only part of the story: it is equally important to generate suitable test data. In particular, requiring random test data to satisfy arbitrary preconditions can lead to skewed distributions: for example, naively generating random sorted lists will rarely yield long lists. As a result, developers need to design custom generators carefully—but these generators can become arbitrarily complex. When testing a compiler, for example, it can be quite challenging to define a good generator that is guaranteed to produce well-formed programs. In this brief abstract we propose to address this problem using the observation that well-formed inputs can often be described by (indexed) inductive datatypes. By defining a generic procedure for enumerating indexed datatypes, we can obtain a way of safely generating precise test data.
Sun 18 AugDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:20 - 16:40 | Generic Programming and SynthesisTyDe at Aurora Borealis Chair(s): Edwin Brady University of St. Andrews, UK | ||
15:20 20mTalk | Generic Enumerators TyDe Cas van der Rest Utrecht University, Wouter Swierstra Utrecht University, Netherlands, Manuel Chakravarty Tweag I/O & IOHK Pre-print | ||
15:40 20mTalk | Generic Level Polymorphic N-ary Functions TyDe Guillaume Allais University of Strathclyde Link to publication | ||
16:00 20mTalk | Augmenting Type Signatures for Program Synthesis TyDe Pre-print | ||
16:20 20mTalk | Constraint-based Type-directed Program Synthesis TyDe Peter-Michael Osera Grinnell College Link to publication |