skip to main content
article
Free Access

IGOR: a system for program debugging via reversible execution

Published:01 November 1988Publication History
Skip Abstract Section

Abstract

Typical debugging tools are insufficiently powerful to find the most difficult types of program misbehaviors. We have implemented a prototype of a new debugging system, IGOR, which provides a great deal more useful information and offers new abilities that are quite promising. The system runs fast enough to be quite useful while providing many features that are usually available only in an interpreted environment. We describe here some improved facilities (reverse execution, selective searching of execution history, substitution of data and executable parts of the programs) that are needed for serious debugging and are not found in traditional single-thread debugging tools. With a little help from the operating system, we provide these capabilities at reasonable cost without modifying the executable code and running fairly close to full speed. The prototype runs under the DUNE distributed operating system.

The current system only supports debugging of single-thread programs. The paper describes planned extensions to make use of extra processors to speed the system and for applying the technique to multi-thread and time dependent executions.

References

  1. 1 J. Conway, "The COPE User Interface", Proc of IEEE Compsac '82 (Computer Society 6th International Computer Software and Applications Conference, Chicago, 1982)Google ScholarGoogle Scholar
  2. 2 B. Randell, "System Structure for Software Fault Tolerance", IEEE Transactions on Software Engineering vol. SE-1, no. 2, pp. 220-232 (June 1975)Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 M. Pucci and J. Alberi, "The Architecture of the DUNE Multiple Processor System: An Experimeat in Generalized Interprocessor Communication", Bellcore Technical ReportGoogle ScholarGoogle Scholar
  4. 4 T.A. Cargill, "Pi - A Case Study in Object-Oriented Programming", Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications, Portland, Oregon, pp. 350-360 (September 1986) Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 M. Linton, "A Debugger for the Berkeley Pascal System", Master's project, UCB (June, 1981)Google ScholarGoogle Scholar
  6. 6 Sun Microsystems, Inc., "Debugging Tools for the Sun Workstation", Part No. 800-1325-03 (1986)Google ScholarGoogle Scholar
  7. 7 John R. Ellis, Kai Li, and Andrew W. Appel, "Real-time Concurrent Collection on Stock Multiprocessors", DEC Systems Research Center Technical Report #25 (February, 1988)Google ScholarGoogle Scholar

Index Terms

  1. IGOR: a system for program debugging via reversible execution

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 24, Issue 1
        Special issue: Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on parallel and distributed debugging
        Jan. 1989
        280 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/69215
        Issue’s Table of Contents
        • cover image ACM Conferences
          PADD '88: Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
          November 1988
          282 pages
          ISBN:0897912969
          DOI:10.1145/68210

        Copyright © 1988 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 November 1988

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader