John Hughes, Co-designer of Haskell and QuickCheck

John Hughes

Biography: John Hughes

John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 75 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang.
Software Passion: Making hard stuff easy with functional programming.

Presentation: "Testing Asynchronous Behaviour in an Instant Messaging Server"

Track: SOFTWARE TOOLS / Time: Wednesday 16:15 - 17:15 / Location: Filuren, Musikhuset

Asynchronous behaviour is hard to test—because you don’t know when to expect it, and sometimes you don’t even know what to expect! The same test case can behave differently in different runs, making it hard to determine whether or not the test passed. Generating tests randomly makes the problem even harder! You’ll learn how we solved this problem neatly and simply, in developing a QuickCheck test suite for ejabberd—the most widely deployed XMPP instant messaging server.

Keywords: Erlang, ejabberd, xmpp, messaging, testing, asynchronous, random testing, QuickCheck
Target audience: Developers interested in test infrastructure forcomplex systems with asynchronous behaviour - for example, needing to test that asynchronous messages are delivered on time.