Maygen: A Symbolic Debugger Generation System

Abstract

With the development of high-level languages for new computer architectures comes the need for appropriate debugging tools as well. One method for meeting this need would be to develop, from scratch, a symbolic debugger with the introduction of each new language implementation for any given architecture. This, however, seems to require unnecessary duplication of effort among developers. Compilation technology has alleviated some duplication of effort in the development of compilers. Can similar ideas aid in the efficient development of symbolic debuggers as well? Maygen explores the possibility of making debugger development efficient by influencing the language and architecture development processes. Maygen is a debugger generation system, built upon the idea that symbolic debuggers can be divided into three components: a set of source language interface routines, a set of machine architecture interface routines, and a language-independent and architecture- independent debugger skeleton. Maygen then exploits this modularity: First, Maygen precisely defines as well as houses the language-independent and architecture-independent debugger skeleton. Second, Maygen defines the protocol for interface interaction among source language developers, machine architecture developers, and the general-purpose debugger skeleton. Finally, Maygen provides a framework in which the resident debugger skeleton is automatically developed into a stand-alone symbolic debugger; the resulting debugger is tailored to the specific provisions of a particular language group and a particular architecture group.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 1993
Accession Number
ADA272512

Entities

People

  • Christine L. Tsien

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Artificial Intelligence
  • C Programming Language
  • Compilers
  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Debugging
  • High Level Languages
  • Language
  • Object Code
  • Operating Systems
  • Programming Languages
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications