Debuggable concurrency extensions for standard ML

Andrew P. Tolmach, Andrew W. Appel

Research output: Contribution to journalArticlepeer-review

12 Scopus citations


We are developing an interactive debugger with reverse execution for the language Standard ML extended to include concurrent threads in the style of Modula-2+. Our debugging approach is based on automatic instrumentation in the source language of the user's source code; this makes the debugger completely independent of the compiler back-end, run-time system, and target hardware. The debugger operates entirely inside the concurrency model and has no special concurrency privileges. In this paper, we consider some of the challenges of debugging a non-deterministic concurrent symbolic language “in itself.” Issues considered include logging nondeterministic activity, obtaining more secure semantics for our concurrency primitives, controlling distributed computations, and defining suit able time models. We conclude by suggesting an alternative simulation-based approach to dealing with non-determinism.

Original languageEnglish (US)
Pages (from-to)120-131
Number of pages12
JournalSIGPLAN Notices (ACM Special Interest Group on Programming Languages)
Issue number12
StatePublished - Jan 12 1991

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Graphics and Computer-Aided Design


Dive into the research topics of 'Debuggable concurrency extensions for standard ML'. Together they form a unique fingerprint.

Cite this