MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Testing Monadic Code with QuickCheck (2002) [16 citations — 1 self]

Download:
Download as a PDF | Download as a PS
by Koen Claessen, John Hughes
In Proc. ACM SIGPLAN workshop on Haskell
http://www.cs.chalmers.se/~koen/Papers/quick-monad.ps
Add To MetaCart

Abstract:

QuickCheck is a previously published random testing tool for Haskell programs. In this paper we show how to use it for testing monadic code, and in particular imperative code written using the ST monad. QuickCheck tests a program against a specication: we show that QuickCheck's speci-cation language is suciently powerful to represent common forms of specications: algebraic, model-based (both functional and relational), and pre-/post-conditional. Moreover, all these forms of specication can be used directly for testing. We dene a new language of monadic properties, and make a link between program testing and the notion of observational equivalence.

Citations

1128 Monads for functional programming – Wadler - 1992
156 Monad transformers and modular interpreters – Liang, Hudak, et al. - 1995
133 QuickCheck: a lightweight tool for random testing of Haskell programs – Claessen, Hughes
132 Specification Case Studies – Hayes - 1987
125 An evaluation of random testing – Duran, Ntafos - 1984
87 Putting type annotations to work – Odersky, Läufer - 1996
76 Categorical Logic – Pitts - 1997
61 Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls – Jones - 2000
36 Automatically checking an implementation against its formal specification – Antoy, Hamlet
32 Random testing – Hamlet - 1994
31 Multipleview tracing for Haskell: a new hat – Wallace, Chitil, et al. - 2001
20 A framework for practical, automated black-box testing of component-based software – Edwards
15 An efficient functional implementation of FIFO queues – Burton - 1982
11 Modular Domain Speci Languages and Tools – Hudak - 1998
9 An overview of Edison – Okasaki - 2000
6 Software testing based on formal speci a theory and a tool – Bernot, Gaudel, et al. - 1991
4 Partition testing does not inspire con – Hamlet, Taylor - 1990
4 Automated benchmarking of functional data structures – Moss, Runciman - 1999
3 HUnit 1.0 User's Guide – Herington - 2002
2 Automated evaluation of cots components – Mueller, Korel - 2000
1 Automating Formal Speci Based Testing – Donat - 1997
1 Data abstraction implementation, speci – Gannon, Hamlet, et al. - 1981
1 A Framework for Speci Based Testing – Stocks, Carrington - 1996