Moped (a portable debugger) Article DOI:
Cite this article as: Pourheidari, M., Kessler, R.R. & Carr, H. Lisp and Symbolic Computation (1990) 3: 39. doi:10.1007/BF01806125 Abstract
Moped is a portable debugger that uses enhanced tracing facilities and backtracing to discover unusual or undesirable program behaviors. It is based upon two modules — Program Probes and Program History. Program Probes is a forward tracing utility which allows Moped to dynamically examine the execution of a program. Program History is a backtracing utility which allows Moped to study the executed section of a program. Together, Program Probes and Program History enable Moped to have more control over the behavior of a program than either one of them, and consequently to provide an easier path toward program debugging. Moped is written in Common LISP with no dependencies on details of the machine implementation. Therefore, it is easily portable to any Common LISP environment.
Keywords Debugging tracing backtracing Lisp probe use-definition analysis macro variable binding dynamic redefinition
This work supported in part by Hewlett-Packard Company, the National Science foundation Under Grant Number MCS81-21750 and the Defense Advanced Research Projects Agency under contract number DAAK11-84-K-0017.
Prolog Debugging Facilities. Tech. note, Department of Artificial Intelligence, Edinburgh University (1980).
Cherniak, C. Undebuggability and Cognitive Science.
, 31, 4 (April 1988) 402–412.
Hallsteinsen, S.O. Source Level Debuggers: Experience from the Design and Implementation of CHILLSCOPE. In Conradi, R., Didriksen, T. M., and Wanvik, D. H., editors,
Advanced Programming Environments, Proceedings of an International Workshop, Springer Verlog (1986) 1–12.
Haynes, C.T. and Friedman, D.P. Embedding Continuations in Procedural Objects.
ACM Transactions of Programming Languages and Systems
, 9, 4 (1987) 582–598.
HP Common Lisp II. Hewlett-Packard Company, Fort Collins, Colorado (1988). Chapter 14.
Hultman, J. and Nyberg, A.
An Implementation of DWIM in Portable Standard Lisp. Tech. Rep., Dept. of Computer Science, University of Linköping (August 1985).
Krohnfeldt, J. and Stoller, L. An X-Based Utility for Common Lisp. Personal communication, University of Utah, 1988.
Lauesen, S. Debugging Techniques.
Software-Practice and Experience
, 9 (1979) 51–63.
Lieberman, H. Steps Toward Better Debugging Tools for Lisp.
ACM SIGPLAN, SIGACT, SIGART (August 1984) 247–255. Conference record of the ACM symposium on Lisp and functional programming.
Lieberman, H. and Hewitt, C. A Session With TINKER: Interleaving Program Design with Program Testing.
Proceedings of the First Lisp Conference (August 1980) 90–97.
Muchnick, S.S. and Jones, N.D.
Program Flow Analysis: Theory and Applications
. Prentice-Hall, Inc., Englewood Cliffs, NJ (1981).
Scheifler, R.W. and Gettys, J. The X Window System.
ACM Transactions on Graphics
, 5, 2 (April 1986) 79–109.
Sniffer: a System that Understands Bugs. AI Memo 638, MIT AI Laboratories (June 1981).
Algorithmic Program Debugging. ACM Distinguished Dissertation
, the MIT Press, Cambridge, MA (1982).
Steele, G. L. Jr.
Common Lisp: The Language
. Digital Press, Burlington, MA (1984).
A Computer Model of Skill Acquisition. Artificial Intelligence Series
, North-Holland, Amsterdam, Holland (1975).
Program Development Utilities. Symbolics, Inc., Cambridge, MA (1985). Chapter 20.
Reference Guide to Symbolics Lisp. Cambridge, MA 02142 (March 1985).
Interlisp Reference Manual
. Xerox Research Center, Palo Alto, CA (1974).
Google Scholar Copyright information
© Kluwer Academic Publishers 1990