Skip to main content

Gast: Generic Automated Software Testing

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 2002)

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

Included in the following conference series:

Abstract

Software testing is a labor-intensive, and hence expensive, yet heavily used technique to control quality. In this paper we introduce Gast, a fully automatic test tool. Properties about functions and datatypes can be expressed in first order logic. Gast automatically and systematically generates appropriate test data, evaluates the property for these values, and analyzes the test results. This makes it easier and cheaper to test software components. The distinguishing property of our system is that the test data are generated in a systematic and generic way using generic programming techniques. This implies that there is no need for the user to indicate how data should be generated. Moreover, duplicated tests are avoided, and for finite domains Gast is able to prove a property by testing it for all possible values. As an important side-effect, it also encourages stating formal properties of the software.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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.

References

  1. A. Alimarine and R. Plasmeijer A Generic Programming Extension for Clean. IFL2001, LNCS 2312, pp.168–185, 2001.

    Google Scholar 

  2. G. Bernot, M.C. Gaudel, B. Marre: Software Testing based on Formal Specifications: a theory and a tool, Software Engineering Journal, 6(6), pp 287–405, 1991.

    Article  Google Scholar 

  3. K. Claessen, J. Hughes. QuickCheck: A lightweight Tool for Random Testing of Hasskell Programs. International Conference on Functional Programming, ACM, pp 268–279, 2000. See also http://www.cs.chalmers.se/~rjmh/QuickCheck.

  4. K. Claessen, J. Hughes. Testing Monadic Code with QuickCheck, Haskell Workshop, 2002.

    Google Scholar 

  5. M. van Eekelen, M. de Mol: Reasoning about explicit strictness in a lazy language using mixed lazy/strict semantics, Draft proceedings IFL2002, Report 127-02, Computer Science, Universidad Complutense de Madrid, pp 357–373, 2002.

    Google Scholar 

  6. R. Hinze and J. Jeuring. Generic Haskell: Practice and Theory, Summer School on Generic Programming, 2002.

    Google Scholar 

  7. R. Hinze, and S. Peyton Jones Derivable Type Classes, Proceedings of the Fourth Haskell Workshop, Montreal Canada, 2000.

    Google Scholar 

  8. Hinze, R. Polytypic values possess polykinded types, Fifth International Conference on Mathematics of Program Construction, LNCS 1837, pp 2–27, 2000.

    Google Scholar 

  9. HUnit home page: hunit.sourceforge.net

    Google Scholar 

  10. S. Peyton Jones, J. Hughes: Report on the programming language Haskell 98 — A Non-strict, Purely Functional Language, 2002 http://www.haskell.org/onlinereport.

  11. JUint home page: junit.sourceforge.net

    Google Scholar 

  12. M. de Mol, M. van Eekelen, R. Plasmeijer. Theorem Proving for Functional Programmers, LNCS 2312, pp 55–72, 2001. See also http://www.cs.kun.nl/Sparkle.

    Google Scholar 

  13. Graeme E. Moss and Colin Runciman. Inductive benchmarking for purely functional data structures, Journal of Functional Programming, 11(5): pp 525–556, 2001. Auburn home page: http://www.cs.york.ac.uk/fp/auburn

    Article  MATH  MathSciNet  Google Scholar 

  14. Rinus Plasmeijer and Marko van Eekelen: Concurrent Clean Language Report (version 2.0), 2002. http://www.cs.kun.nl/~clean.

  15. Maurice Siteur: Testing with tools-Sleep while you are working. See also http://www.siteur.myweb.nl.

  16. J. Tretmans, K. Wijbrans, M. Chaudron: Software Engineering with Formal Methods: The development of a storm surge barrier control system-revisiting seven myths of formal methods, Formal Methods in System Design, 19(2), 195–215, 2001.

    Article  MATH  Google Scholar 

  17. D. Lee, and M. Yannakakis, M Principles and Methods for Testing Finite State Machines — A Survey, The Proceedings of the IEEE, 84(8), pp 1090–1123, 1996.

    Article  Google Scholar 

  18. L. Feijs, F. Meijs, J. Moonen, J. Wamel Conformance Testing of a Multimedia System Using PHACT in Workshop on Testing of Communicating Systems 11 pp 193–210, 1998.

    Google Scholar 

  19. E. Brinksma, J. Tretmans Testing Transition Systems: An Annotated Bibliography”, in Modeling and Verification of Parallel Processes-4 th Summer School MOVEP 2000 LNCS 2067, pp 186–195, 2001.

    Chapter  Google Scholar 

  20. J. Fernandez, C. Jard, T. Jéron, C. Viho Using On-the-Fly Verification Techniques for the generation of test suites, LNCS 1102, 1996.

    Google Scholar 

  21. A. Kerbrat, T. Jéron, R. Groz Automated Test Generation from SDL Specifications, in The Next Millennium-Proceedings of the 9 th SDL Forum, pp 135–152, 1999.

    Google Scholar 

  22. J. He, K. Turner Protocol-Inspired Hardware Testing, in Int. Workshop on Testing of Communicating Systems 12 pp 131–147, 1999.

    Google Scholar 

  23. A. Belinfante, J. Feenstra, R. Vries, J. Tretmans, N. Goga, L. Feijs, S. Mauw, L. Heerink Formal Test Automation: A Simple Experiment, in Int. Workshop on Testing of Communicating Systems 12 pp 179–196, 1999.

    Google Scholar 

  24. J. Tretmans, E. Brinksma Côte de Resyste — Automated Model Based Testing, in Progress 2002 — 3rd Workshop on Embedded Systems, pp 246–255, 2002.

    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 paper

Cite this paper

Koopman, P., Alimarine, A., Tretmans, J., Plasmeijer, R. (2003). Gast: Generic Automated Software Testing. In: Peña, R., Arts, T. (eds) Implementation of Functional Languages. IFL 2002. Lecture Notes in Computer Science, vol 2670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44854-3_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-44854-3_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-44854-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics