|Symbolic Debuggers email@example.com (1991-08-20)|
|Date:||Tue, 20 Aug 91 09:28:05 BST|
A while ago I asked about references on high-level symbolic debuggers.
A number of people asked me fo the results of my query, and then
I decided to post them to this group.
Fabio da Silva
University of Edinburgh JANET: firstname.lastname@example.org
LFCS - Computer Science Dept. UUCP: ..!mcsun!ukc!lfcs!fabio
JCMB - The King's Buildings ARPA: email@example.com
Mayfield Road - Edinburgh
EH9 3JZ - Scotland
Reply-To: Paul Hudak <firstname.lastname@example.org>
Organization: Yale University Computer Science Dept., New Haven, CT 06520-2158
You should look at our recent paper:
author = "A. Kishon and C. Consel and P. Hudak",
title = "Monitoring Semantics: a Formal Framework for Specifying,
Implementing and Reasoning about Execution Monitors",
booktitle = "ACM SIGPLAN Conference on Programming Language Design
year = "1991",
pages = "338-352"
Professor Paul Hudak
Department of Computer Science
Box 2158 Yale Station
New Haven, CT 06520
Reply-To: Dan Pierson <email@example.com>
You might look at UPS from the Mark Russell <firstname.lastname@example.org>. It's
based on an ANSI C interpreter.
Reply-To: Jack Campin <email@example.com>
By far the nicest debugger I have ever seen was "ups", the C debugger
developed by John Bovey at the Software Tools Project, University of Kent
at Canterbury. It had a sort of folding editor for the stack; you could
selectively display variables, function parameters, or random bits of
memory, choose the coercion you wanted (integer/string/real...), step
through arrays an element at a time, dereference pointers,... all using
a fully graphical interface. Try writing UKC about it; the Software Tools
Project is long defunct. It only ran on the Perq.
cheers - jack
-- Jack Campin Computing Science Department, Glasgow University, 17 Lilybank
Gardens, Glasgow G12 8QQ, Scotland 041 339 8855 x6854 work 041 556 1878 home
JANET: firstname.lastname@example.org BANG!net: via mcsun and ukc FAX: 041 330 4913
INTERNET: via nsfnet-relay.ac.uk BITNET: via UKACRL UUCP: email@example.com
>From firstname.lastname@example.org Mon Aug 12 09:23:10 1991
Have you seen the work by Larry Zurawski and me on debugging optimized code?
You can get a postscript version of a large paper that was recently accepted
in TOPLAS by anonymous ftp from st.cs.uiuc.edu in /pub/papers. It is called
something like debugging-opt-code.ps. The paper is most of what was in
Larry's thesis. If you don't have ftp to us, there is a mail archive server,
which you can access at email@example.com by sending the line
Reply-To: Andrew Tolmach <firstname.lastname@example.org>
My thesis work (being completed this autumn, I hop) is on a symbolic debugger
for Standard ML of New Jersey, the Princeton/ATT Bell Labs implementation of
Standard ML. A version of the debugger is included in recent distributions of
the compiler; I'm sure someone at Edinburgh LFCS has a copy. A preliminary
description of the system appeared in Proc. 1990 ACM Conf. on Lisp and
Although most of my work has been on implementation technology, I am currently
working on some formal semantics aspects too; I will be interested to see your
You might also be interested in recent work of Kishon, Hudak, and Consel:
"Monitoring Semantics: A formal Framework for Specifying, IMplementing and
Reasoning about Exevution Monitors" in SIGPLAN 91 PLDI Proceedings.
-- Andrew Tolmach (email@example.com)
>From firstname.lastname@example.org Mon Aug 12 09:25:13 1991
Organization: Dept of Computer Sciences, UTexas, Austin
You might have a look at Andrew Appel's time-travel debugger for Standard ML
of New Jersey. It's vaguely based on my reconstructive memory system (Wilson
and Moher, SIGPLAN PLDI '89), but simplified and taking advantage of ML
specifics. See his and Andrew Tolmach's paper in the 1990 Lisp and Functional
Programming conference proceedings.
One of the interesting things he does is to coordinate checkpointing with
garbage collection to make checkpointing more efficient. I did that too, but
in a very different way. Tolmach and Appel use the garbage collector and
continuation capture *as* a checkpointing mechanism. In a purely functional
language, that would be enough. In ML, you also have to hack in support for
undoing side effects, but it's pretty simple. They didn't have to modify the
Standard ML implementation much at all.
Paul R. Wilson, asst. prof. and garbage man
| U. of Texas Computer Sciences Dept.
| Taylor Hall 2.124, Austin, TX 78712-1188
| email@example.com (512) 471-9555
The only paper that mentions ups is:
John Bovey, Mark Russell and Olav Folkestad, `Direct Manipulation
Tools for UNIX Workstations', Proceedings of the EUUG, Portugal, 1988
The ups distribution is available by ni-ftp. The files are:
<NETLIB>unix/ups/ups-2.31.README from uk.ac.ukc.harrier
<NETLIB>unix/ups/ups-2.31.tar.Z from uk.ac.ukc.harrier
password <your email address>
Reply-To: William Pickles <firstname.lastname@example.org>
would you like to study STRAND88 and its compiler/debugger relationship
>From CHCHAVES@br.ansp.cpqd.orion Mon Aug 12 09:32:43 1991
- P. Corsini, C. A. Prete, ``Multibug: Interactive Debugging in Distributed
Systems'', IEEE MICRO, June 1986.
- R. Glass, ``Real-Time: The `Lost World' of Software Debugging and Testing'',
CACM, 23(5), 1980.
- C. Mcdowell, D. Helmbold, ``Debugging Concurrent Programs'', ACM Computing
Surveys, 21(4), 1989.
- S. Utter, C. Pancake, ``A Bibliography of Parallel Debuggers'', SIGPLAN
- Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on
High-Level Debugging, august 1983.
- ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, may 1988.
Return to the
Search the comp.compilers archives again.