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 (Quick Check, 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 ...
Erlang/OTP is a concurrent functional language developed and maintained by Ericsson AB, and was rele...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
If two parallel threads access the same location and at least one of them performs a write, a race e...
We address the problem of testing and debugging concurrent, distributed,Erlang applications. In conc...
We address the problem of testing and debugging concurrent, distributed Erlang applications. In conc...
In 2009, Claessen et al. presented a way of testing for race conditions in Erlang programs, using Qu...
Race conditions are notoriously frustrating to find, and good tools can help. The main difficulty is...
Erlang is a functional language developed by Ericsson AB, in which concurrency belongs to the progra...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
Race conditions are notoriously frustrating to find, and good tools can help. The main difficulty is...
This paper advocates the test-driven development of concurrent Erlang programs in order to detect ea...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Testing is a major part of all software development - yet no matter howmuch effort is spent on it, s...
A race condition is a phenomenon wherein the output of an electronic device or computer process (thr...
Erlang/OTP is a concurrent functional language developed and maintained by Ericsson AB, and was rele...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
If two parallel threads access the same location and at least one of them performs a write, a race e...
We address the problem of testing and debugging concurrent, distributed,Erlang applications. In conc...
We address the problem of testing and debugging concurrent, distributed Erlang applications. In conc...
In 2009, Claessen et al. presented a way of testing for race conditions in Erlang programs, using Qu...
Race conditions are notoriously frustrating to find, and good tools can help. The main difficulty is...
Erlang is a functional language developed by Ericsson AB, in which concurrency belongs to the progra...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
Race conditions are notoriously frustrating to find, and good tools can help. The main difficulty is...
This paper advocates the test-driven development of concurrent Erlang programs in order to detect ea...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Testing is a major part of all software development - yet no matter howmuch effort is spent on it, s...
A race condition is a phenomenon wherein the output of an electronic device or computer process (thr...
Erlang/OTP is a concurrent functional language developed and maintained by Ericsson AB, and was rele...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
If two parallel threads access the same location and at least one of them performs a write, a race e...