Skip to main content

Property-Based Testing - The ProTest Project

  • Conference paper
Formal Methods for Components and Objects (FMCO 2009)

Abstract

The ProTest project is an FP7 STREP on property based testing. The purpose of the project is to develop software engineering approaches to improve reliability of service-oriented networks; support fault-finding and diagnosis based on specified properties of the system. And to do so we will build automated tools that will generate and run tests, monitor execution at run-time, and log events for analysis.

The Erlang / Open Telecom Platform has been chosen as our initial implementation vehicle due to its robustness and reliability within the telecoms sector. It is noted for its success in the ATM telecoms switches by Ericsson, one of the project partners, as well as for multiple other uses such as in facebook, yahoo etc. In this paper we provide an overview of the project goals, as well as detailing initial progress in developing property based testing techniques and tools for the concurrent functional programming language Erlang.

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

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. Arts, T., Castro, L.M., Hughes, J.: Testing Erlang data types with Quviq QuickCheck. In: Teoh and Horváth DBLP:conf/erlang/2008, pp. 1–8 (2008)

    Google Scholar 

  2. Arts, T., Claessen, K., Svensson, H.: Semi-formal Development of a Fault-Tolerant Leader Election Protocol in Erlang. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 140–154. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Arts, T., Fredlund, L.-Å.: Trace analysis of Erlang programs. In: Page, R.L., Hughes, J. (eds.) Erlang Workshop, pp. 16–23. ACM, New York (2002)

    Google Scholar 

  4. Arts, T., Hughes, J., Johansson, J., Wiger, U.: Testing Telecoms Software with Quviq Quickcheck. In: Feeley, M., Trinder, P.W. (eds.) Proceedings of the 2006 ACM SIGPLAN Workshop on Erlang (Erlang 2006), pp. 2–10. ACM Press, New York (2006)

    Chapter  Google Scholar 

  5. Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  6. Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: ICFP, pp. 268–279 (2000)

    Google Scholar 

  7. Claessen, K., Palka, M., Smallbone, N., Hughes, J., Svensson, H., Arts, T., Wiger, U.: Finding race conditions in Erlang with QuickCheck and PULSE. In: ICFP, pp. 149–160. ACM, New York (2009)

    Chapter  Google Scholar 

  8. Earle, C.B., Fredlund, L.-Å.: Recent improvements to the McErlang model checker. In: Erlang Workshop, pp. 93–100 (2009)

    Google Scholar 

  9. Earle, C.B., Fredlund, L.-Å., Iglesias, J.A., Ledezma, A.: Verifying robocup teams. In: Peled, D.A., Wooldridge, M.J. (eds.) MoChArt 2008. LNCS, vol. 5348, pp. 34–48. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  10. Earle, C.B., Thompson, S.J. (eds.): Proceedings of the 8th ACM SIGPLAN Workshop on Erlang, Edinburgh, Scotland, UK, September 5. ACM, New York (2009)

    Google Scholar 

  11. Glück, R., de Moor, O. (eds.): Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, PEPM 2008, San Francisco, California, USA, January 7-8. ACM, New York (2008)

    Google Scholar 

  12. Groce, A., Holzmann, G.J.: Randomized differential testing as a prelude to formal verification. In: ICSE, pp. 621–631. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  13. Hughes, J.: Formal Specification for Free!. In: Erlang Workshop (2008)

    Google Scholar 

  14. Li, H., Thompson, S.: Comparative Study of Refactoring Haskell and Erlang Programs. In: SCAM, pp. 197–206. IEEE Computer Society, Los Alamitos (2006)

    Google Scholar 

  15. Li, H., Thompson, S.J.: Tool support for refactoring functional programs. In: Glück and de Moor/pepm/2008, pp. 199–203 (2008)

    Google Scholar 

  16. Li, H., Thompson, S., Reinke, C.: The Haskell Refactorer, HaRe, and its API. Electr. Notes Theor. Comput. Sci. 141(4), 29–34 (2005)

    Article  Google Scholar 

  17. Sultana, N., Thompson, S.J.: Mechanical verification of refactorings. In: pepm, pp. 51–60 (2008)

    Google Scholar 

  18. Svensson, H.: Implementing an ltl-to-büchi translator in erlang: a protest experience report. In: Erlang Workshop, pp. 63–70 (2009)

    Google Scholar 

  19. Teoh, S.T., Horváth, Z. (eds.): Proceedings of the 7th ACM SIGPLAN workshop on ERLANG, Victoria, BC, Canada, Se ptember 27. ACM, New York (2008)

    Google Scholar 

  20. Thompson, S.: Refactoring functional programs. In: Vene, V., Uustalu, T. (eds.) AFP 2004. LNCS, vol. 3622, pp. 331–357. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Walkinshaw, N., Derrrick, J.: Incrementally discovering testable specifications from program executions. In: FMCO (2009)

    Google Scholar 

  22. Walkinshaw, N., Derrick, J., Guo, Q.: Iterative refinement of reverse-engineered models by model-based testing. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 305–320. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  23. Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Trans. Software Eng. 28(2), 183–200 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Derrick, J. et al. (2010). Property-Based Testing - The ProTest Project. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds) Formal Methods for Components and Objects. FMCO 2009. Lecture Notes in Computer Science, vol 6286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17071-3_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17071-3_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17070-6

  • Online ISBN: 978-3-642-17071-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics