Skip to main content

Testing and Tracing Lazy Functional Programs Using QuickCheck and Hat

  • Chapter
Advanced Functional Programming (AFP 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2638))

Included in the following conference series:

Abstract

It is a very undesirable situation that today’s software often contains errors. One motivation for using a functional programming language is that it is more difficult (or even impossible) to make low-level mistakes, and it is easier to reason about programs. But even the most advanced functional programmers are not infallible; they misunderstand the properties of their own programs, or those of others, and so commit errors.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Chitil, O., Runciman, C., Wallace, M.: Freja, Hat and Hood - a comparative evaluation of three systems for tracing and debugging lazy functional programs. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 176–193. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  2. Chitil, O., Runciman, C., Wallace, M.: Transforming Haskell for tracing. In: Peña, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: International Conference on Functional Programming, pp. 268–279. ACM, New York (2000)

    Google Scholar 

  4. Claessen, K., Hughes, J.: Testing monadic code with QuickCheck. In: Haskell Workshop. ACM, New York (2002)

    Google Scholar 

  5. Duran, J., Ntafos, S.: An evaluation of random testing. Transactions on Software Engineering 10(4), 438–444 (1984)

    Article  Google Scholar 

  6. Gill, A.: Debugging Haskell by observing intermediate datastructures. Electronic Notes in Theoretical Computer Science, vol. 41(1) (2001); Proc. 2000 ACM SIGPLAN Haskell Workshop

    Google Scholar 

  7. Hamlet, D.: Random testing. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering, pp. 970–978. Wiley, Chichester (1994)

    Google Scholar 

  8. Hamlet, R., Taylor, R.: Partition testing does not inspire confidence. Transactions on Software Engineering 16(12), 1402–1411 (1990)

    Article  MathSciNet  Google Scholar 

  9. Herington, D.: HUnit 1.0 user’s guide (2002), http://hunit.sourceforge.net/HUnit-1.0/Guide.html

  10. Moss, G.E.: Benchmarking purely functional data structures. PhD thesis, Dept. of Computer Science, University of York, UK (2000)

    Google Scholar 

  11. Moss, G.E., Runciman, C.: Inductive benchmarking for purely functional data structures. Journal of Functional Programming 11(5), 525–556 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  12. Nilsson, H.: Declarative Debugging for Lazy Functional Languages. PhD thesis, Linköping University, Sweden (1998)

    Google Scholar 

  13. Sparud, J., Runciman, C.: Complete and partial redex trails of functional computations. In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol. 1467, pp. 160–177. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Sparud, J., Runciman, C.: Tracing lazy functional computations using redex trails. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 291–308. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  15. Wallace, M., Chitil, O., Brehm, T., Runciman, C.: Multipleview tracing for Haskell: a new Hat. In: Haskell Workshop. ACM, New York (September 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Claessen, K., Runciman, C., Chitil, O., Hughes, J., Wallace, M. (2003). Testing and Tracing Lazy Functional Programs Using QuickCheck and Hat. In: Jeuring, J., Jones, S.L.P. (eds) Advanced Functional Programming. AFP 2002. Lecture Notes in Computer Science, vol 2638. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-44833-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-44833-4_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40132-2

  • Online ISBN: 978-3-540-44833-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics