[plt-dev] random testing, we need to do more of this

From: Michael Sperber (sperber at deinprogramm.de)
Date: Mon Jan 25 07:33:44 EST 2010

Robby Findler <robby at eecs.northwestern.edu> writes:

> On Mon, Jan 25, 2010 at 2:05 AM, Michael Sperber
> <sperber at deinprogramm.de> wrote:
>> I'll point out that a quite complete port of the original QuickCheck is
>> sitting in the deinprogramm/quickcheck collection.  I wrote it for our
>> teaching languages (where feedback indicates it's a success), but it's
>> by no means restricted to that.
> Can you say more about how you use it in the course? Specifically,
> where do you start using it and what kinds of invariants do you use
> with it?

I have only spotty information at this point, as I'm not currently
teaching: Peter Thiemann and Torsten Grust are.  (We're writing that
paper right now, so you'll get more info soon.)  If it would have been
me, I would have introduced it one-shot at the point where we've done a
few check-expects and some smart-hiney student asks whether we can't
write checks for properties rather than cases.

The book draft chapter is here:


It's in German, but the code samples are in English, so you should be
able to get the drift: reflexivity, symmetry, transitivity,
anti-symmetry, commutativity, associativity, distributivity, inverse
function are the properties I'd tell students to watch out for<.

Also, I pick it up again in the chapter on search trees, where it's
properties like "what goes in comes out again" etc.

Does this help?

Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

Posted on the dev mailing list.