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.
Keywords
- Linear Temporal Logic
- Race Condition
- Linear Temporal Logic Formula
- Model Check Algorithm
- Property Discovery
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)
Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: ICFP, pp. 268–279 (2000)
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)
Earle, C.B., Fredlund, L.-Å.: Recent improvements to the McErlang model checker. In: Erlang Workshop, pp. 93–100 (2009)
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)
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)
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)
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)
Hughes, J.: Formal Specification for Free!. In: Erlang Workshop (2008)
Li, H., Thompson, S.: Comparative Study of Refactoring Haskell and Erlang Programs. In: SCAM, pp. 197–206. IEEE Computer Society, Los Alamitos (2006)
Li, H., Thompson, S.J.: Tool support for refactoring functional programs. In: Glück and de Moor/pepm/2008, pp. 199–203 (2008)
Li, H., Thompson, S., Reinke, C.: The Haskell Refactorer, HaRe, and its API. Electr. Notes Theor. Comput. Sci. 141(4), 29–34 (2005)
Sultana, N., Thompson, S.J.: Mechanical verification of refactorings. In: pepm, pp. 51–60 (2008)
Svensson, H.: Implementing an ltl-to-büchi translator in erlang: a protest experience report. In: Erlang Workshop, pp. 63–70 (2009)
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)
Thompson, S.: Refactoring functional programs. In: Vene, V., Uustalu, T. (eds.) AFP 2004. LNCS, vol. 3622, pp. 331–357. Springer, Heidelberg (2005)
Walkinshaw, N., Derrrick, J.: Incrementally discovering testable specifications from program executions. In: FMCO (2009)
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)
Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Trans. Software Eng. 28(2), 183–200 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)