Projects per year
Abstract
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.
Original language | English |
---|---|
Title of host publication | Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages, DLS'17, ACM, 2017 |
Place of Publication | New York |
Publisher | ACM |
Pages | 3-14 |
Number of pages | 12 |
ISBN (Print) | 978-1-4503-5526-1 |
DOIs | |
Publication status | Published - Oct 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)
Projects
- 1 Finished
-
Meta-level Engineering and Tooling for Complex Concurrent Systems
Mössenböck, H. (PI)
01.03.2016 → 28.02.2021
Project: Funded research › FWF - Austrian Science Fund