A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

Carmen Torres Lopez, Stefan Marr, Hanspeter Mössenböck, Elisa Gonzalez Boix

Research output: Contribution to journalArticlepeer-review

Abstract

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.
Original languageEnglish
Number of pages29
JournalProgramming with Actors
DOIs
Publication statusPublished - Jun 2017

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102011 Formal languages
  • 102013 Human-computer interaction
  • 102022 Software development
  • 102024 Usability research
  • 102029 Practical computer science

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this