Stefan Marr, Carmen Torres Lopez, Dominik Aumayr, Elisa Gonzalez Boix, Hanspeter Mössenböck,
"A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools"
: Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages, DLS'17, ACM, 2017, ACM, New York, Seite(n) 3-14, 10-2017, ISBN: 978-1-4503-5526-1
Original Titel:
A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools
Sprache des Titels:
Englisch
Original Buchtitel:
Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages, DLS'17, ACM, 2017
Original Kurzfassung:
Today?s complex software systems combine high-level con-
currency models. Each model is used to solve a specific set
of problems. Unfortunately, debuggers support only the low-
level notions of threads and shared memory, forcing devel-
opers to reason about these notions instead of the high-level
concurrency models they chose.
This paper proposes a concurrency-agnostic debugger
protocol that decouples the debugger from the concurrency
models employed by the target application. As a result, the
underlying language runtime can define custom breakpoints,
stepping operations, and execution events for each concur-
rency model it supports, and a debugger can expose them
without having to be specifically adapted.
We evaluated the generality of the protocol by applying it
to SOM
ns
, a Newspeak implementation, which supports a
diversity of concurrency models including communicating
sequential processes, communicating event loops, threads
and locks, fork/join parallelism, and software transactional
memory. We implemented 21 breakpoints and 20 stepping
operations for these concurrency models. For none of these,
the debugger needed to be changed. Furthermore, we visu-
alize all concurrent interactions independently of a specific
concurrency model. To show that tooling for a specific con-
currency model is possible, we visualize actor turns and
message sends separately.