[racket-dev] Universe and Redex
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
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
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