Test Driven Development: By Example
Test Driven Development: By Example
EUnit: a lightweight unit testing framework for Erlang
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
Testing telecoms software with quviq QuickCheck
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
Iterative context bounding for systematic testing of multithreaded programs
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
McErlang: a model checker for a distributed functional programming language
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Erlang testing and tools survey
Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
Finding race conditions in Erlang with QuickCheck and PULSE
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Recent improvements to the McErlang model checker
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Hansei: property-based development of concurrent systems
Proceedings of the eleventh ACM SIGPLAN workshop on Erlang workshop
Hi-index | 0.00 |
This paper advocates the test-driven development of concurrent Erlang programs in order to detect early and eliminate the vast majority of concurrency-related errors that may occur in their execution. To facilitate this task we have developed a tool, called Concuerror, that exhaustively explores process interleaving (possibly up to some preemption bound) and presents detailed interleaving information of any errors that occur. We describe in detail the use of Concuerror on a non-trivial concurrent Erlang program that we develop step by step in a test-driven fashion.