[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:


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.


Posted on the dev mailing list.