Finding race conditions in erlang with quickcheck and PULSE

24Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We address the problem of testing and debugging concurrent, distributed,Erlang applications. In concurrent programs, race conditions,are a common class of bugs and are very hard to find in practice.,Traditional unit testing is normally unable to help finding all,race conditions, because their occurrence depends so much on timing.,Therefore, race conditions are often found during system testing,where due to the vast amount of code under test, it is often hard,to diagnose the error resulting from race conditions. We present,three tools (QuickCheck, PULSE, and a visualizer) that in combination,can be used to test and debug concurrent programs in unit,testing with a much better possibility of detecting race conditions.,We evaluate our method on an industrial concurrent case study and,illustrate how we find and analyze the race conditions. © 2009 ACM.

Author supplied keywords

Cite

CITATION STYLE

APA

Claessen, K., Pałka, M., Smallbone, N., Hughes, J., Svensson, H., Arts, T., & Wiger, U. (2009). Finding race conditions in erlang with quickcheck and PULSE. In ACM SIGPLAN Notices (Vol. 44, pp. 149–160). Association for Computing Machinery. https://doi.org/10.1145/1631687.1596574

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free