LISP and Symbolic Computation

, Volume 3, Issue 1, pp 39–65 | Cite as

Moped (a portable debugger)

  • Mohammad Pourheidari
  • Robert R. Kessler
  • Harold Carr


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.


Debugging tracing backtracing Lisp probe use-definition analysis macro variable binding dynamic redefinition 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Byrd, L.Prolog Debugging Facilities. Tech. note, Department of Artificial Intelligence, Edinburgh University (1980).Google Scholar
  2. 2.
    Cherniak, C. Undebuggability and Cognitive Science.CACM, 31, 4 (April 1988) 402–412.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    Haynes, C.T. and Friedman, D.P. Embedding Continuations in Procedural Objects.ACM Transactions of Programming Languages and Systems, 9, 4 (1987) 582–598.Google Scholar
  5. 5.
    HP Common Lisp II. Hewlett-Packard Company, Fort Collins, Colorado (1988). Chapter 14.Google Scholar
  6. 6.
    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).Google Scholar
  7. 7.
    Krohnfeldt, J. and Stoller, L. An X-Based Utility for Common Lisp. Personal communication, University of Utah, 1988.Google Scholar
  8. 8.
    Lauesen, S. Debugging Techniques.Software-Practice and Experience, 9 (1979) 51–63.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    Muchnick, S.S. and Jones, N.D.Program Flow Analysis: Theory and Applications. Prentice-Hall, Inc., Englewood Cliffs, NJ (1981).Google Scholar
  12. 12.
    Scheifler, R.W. and Gettys, J. The X Window System.ACM Transactions on Graphics, 5, 2 (April 1986) 79–109.Google Scholar
  13. 13.
    Shapiro, D.G.Sniffer: a System that Understands Bugs. AI Memo 638, MIT AI Laboratories (June 1981).Google Scholar
  14. 14.
    Shapiro, E.Y.Algorithmic Program Debugging. ACM Distinguished Dissertation, the MIT Press, Cambridge, MA (1982).Google Scholar
  15. 15.
    Steele, G. L. Jr.Common Lisp: The Language. Digital Press, Burlington, MA (1984).Google Scholar
  16. 16.
    Sussman, G.J.A Computer Model of Skill Acquisition. Artificial Intelligence Series, North-Holland, Amsterdam, Holland (1975).Google Scholar
  17. 17.
    Program Development Utilities. Symbolics, Inc., Cambridge, MA (1985). Chapter 20.Google Scholar
  18. 18.
    Reference Guide to Symbolics Lisp. Cambridge, MA 02142 (March 1985).Google Scholar
  19. 19.
    Teitelman, W.Interlisp Reference Manual. Xerox Research Center, Palo Alto, CA (1974).Google Scholar

Copyright information

© Kluwer Academic Publishers 1990

Authors and Affiliations

  • Mohammad Pourheidari
    • 1
  • Robert R. Kessler
    • 2
  • Harold Carr
    • 3
  1. 1.Hewlett PackardCupertino
  2. 2.Department of Computer Science, 3190 MEBUniversity of UtahSalt Lake City
  3. 3.Department of Computer Science, 3190 MEBUniversity of UtahSalt Lake City

Personalised recommendations