A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
Sprache des Titels:
The actor model is an attractive foundation for developing
concurrent applications because actors are isolated concurrent entities
that communicate through asynchronous messages and do not share
state. Thus, they avoid common concurrency bugs such as data races.
However, they are not immune to concurrency bugs in general.
This paper studies concurrency bugs in actor-based programs reported in
literature. We define a taxonomy for these bugs. Furthermore, we analyze
the bugs to identify the patterns causing them as well as their observable
behavior. Based on our taxonomy, we further analyze the literature and
find that current approaches to static analysis and testing focus on com-
munication deadlocks and message protocol violations. However, they do
not provide solutions to identify livelocks and behavioral deadlocks.
We propose a research roadmap of the main debugging techniques that
can help to support the development of actor-based programs.