[racket-dev] Universe and Redex

2011-04-23 Thread David Van Horn
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
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Universe and Redex

2011-04-23 Thread Neil Van Dyke

David Van Horn wrote at 04/23/2011 09:12 PM:
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.


Would be interesting to see how this work with Redex would be framed 
within related work.  There is a popular broad term, fuzz testing.


--
http://www.neilvandyke.org/
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Universe and Redex

2011-04-23 Thread Robby Findler
On Sat, Apr 23, 2011 at 8:23 PM, Neil Van Dyke n...@neilvandyke.org wrote:
 David Van Horn wrote at 04/23/2011 09:12 PM:

 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.

 Would be interesting to see how this work with Redex would be framed within
 related work.  There is a popular broad term, fuzz testing.

There is a huge pile of work on random testing. See our papers for a
start on citations.

Robby

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev