3,367 research outputs found
A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
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. Thereby, they avoid
concurrency bugs such as data races, but are not immune to concurrency bugs in
general. This study taxonomizes concurrency bugs in actor-based programs
reported in literature. Furthermore, it analyzes the bugs to identify the
patterns causing them as well as their observable behavior. Based on this
taxonomy, we further analyze the literature and find that current approaches to
static analysis and testing focus on communication deadlocks and message
protocol violations. However, they do not provide solutions to identify
livelocks and behavioral deadlocks. The insights obtained in this study can be
used to improve debugging support for actor-based programs with new debugging
techniques to identify the root cause of complex concurrency bugs.Comment: - Submitted for review - Removed section 6 "Research Roadmap for
Debuggers", its content was summarized in the Future Work section - Added
references for section 1, section 3, section 4.3 and section 5.1 - Updated
citation
Termination Detection of Local Computations
Contrary to the sequential world, the processes involved in a distributed
system do not necessarily know when a computation is globally finished. This
paper investigates the problem of the detection of the termination of local
computations. We define four types of termination detection: no detection,
detection of the local termination, detection by a distributed observer,
detection of the global termination. We give a complete characterisation
(except in the local termination detection case where a partial one is given)
for each of this termination detection and show that they define a strict
hierarchy. These results emphasise the difference between computability of a
distributed task and termination detection. Furthermore, these
characterisations encompass all standard criteria that are usually formulated :
topological restriction (tree, rings, or triangu- lated networks ...),
topological knowledge (size, diameter ...), and local knowledge to distinguish
nodes (identities, sense of direction). These results are now presented as
corollaries of generalising theorems. As a very special and important case, the
techniques are also applied to the election problem. Though given in the model
of local computations, these results can give qualitative insight for similar
results in other standard models. The necessary conditions involve graphs
covering and quasi-covering; the sufficient conditions (constructive local
computations) are based upon an enumeration algorithm of Mazurkiewicz and a
stable properties detection algorithm of Szymanski, Shi and Prywes
- …