[plt-dev] random testing, we need to do more of this
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:
http://www.deinprogramm.de/dmda/prop.pdf
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