[racket-dev] Universe and Redex

From: David Van Horn (dvanhorn at ccs.neu.edu)
Date: Sat Apr 23 21:12:11 EDT 2011

Sam and I have been teaching a first year course on programming and our 
final project is a distributed, multi-player game similar to this one:

    http://www.gamedesign.jp/flash/dice/dice.html

Students had to write clients, servers, and AI players, and during our 
final exam period, we're going to hold a tournament between all the AI 
players -- hosted on a server that Sam and I wrote.

One idea that we had, which turned out to be a good one, was to define 
the language of client to server messages as a Redex language and then 
use Redex's random term generation to stress test our server.  We 
constructed simple clients that did a rapid-fire send of random 
messages.  We tested on well-formed messages, messages that were "close" 
to being well-formed, and messages that were just arbitrary junk (all 
expressed in a couple lines using define-language).  We found several 
bugs in our server and running our students' clients against the server 
has not uncovered any further bugs beyond what Redex found.

David


Posted on the dev mailing list.