Causal-Consistent Replay Reversible Semantics for Message Passing Concurrent Programs
نویسندگان
چکیده
Causal-consistent reversible debugging is an innovative technique for concurrent systems. It allows one to go back in the execution focusing on actions that most likely caused a visible misbehavior. When such action selected, debugger undoes it, including all and only its consequences. This operation called causal-consistent rollback. In this way, user can avoid being distracted by of other, unrelated processes. work, we introduce dual notion: replay. We allow record running program and, contrast traditional replay debuggers, reproduce misbehavior inside causes. Furthermore, present unified framework combines both Although ideas are rather general, focus popular functional programming language based message passing: Erlang.
منابع مشابه
Efficient memory management for concurrent programs that use message passing
We present an efficient memory management scheme for concurrent programming languages where communication occurs by using message passing with copying semantics. The runtime system is built around process-local heaps, which frees the memory manager from redundant synchronization in a multi-threaded implementation and allows the memory reclamation of process-local heaps to be a private business ...
متن کاملVerifying Concurrent Message-Passing C Programs with Recursive Calls
We consider the model-checking problem for C programs with (1) data ranging over very large domains, (2) (recursive) procedure calls, and (3) concurrent parallel components that communicate via synchronizing actions. We model such programs using communicating pushdown systems, and reduce the reachability problem for this model to deciding the emptiness of the intersection of two context-free la...
متن کاملCausal-Consistent Reversible Debugging
Reversible debugging provides developers with a way to execute their applications both forward and backward, seeking the cause of an unexpected or undesired event. In a concurrent setting, reversing actions in the exact reverse order in which they have been executed may lead to undo many actions that were not related to the bug under analysis. On the other hand, undoing actions in some order th...
متن کاملThe Performance of Two Tracing and Replay Algorithms for Message-Passing Parallel Programs
Debugging parallel message-passing programs is complicated by the non-determinism that is inherent in those programs. Cyclical debugging, which is a proven method for sequential programs, often fails when debugging parallel programs because different executions of the same program may exhibit different behaviors due to non-determinism. Some approaches have been studied to remedy this problem. W...
متن کاملExplicit Message Passing for Concurrent Clean
In this paper we look at Concurrent Clean and concurrency and notice that the language has some shortcomings with respect to communication. It does not provide non-determinism, eecient multicasting and data-driven communication. A message passing extension for Concurrent Clean is proposed which provides eecient many-to-many communication. In contrast to other solutions, we chose to have an asyn...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Fundamenta Informaticae
سال: 2021
ISSN: ['1875-8681', '0169-2968']
DOI: https://doi.org/10.3233/fi-2021-2005