SPADE: A Grammar Based Editor for Planning and Debugging Programs,

Abstract

A grammar of plans is developed from a taxonomy of basic planning techniques. This grammar serves as the basis for the design of a new kind of interactive programming environment (SPADE), in which programs are generated by explicitly articulating planning decisions. The utility of this approach to program definition is that a record of these decisions, called the plan derivation, provides guidance for subsequent modification or debugging of the program. Moreover, this grammatical approach to planning allows the development of a taxonomy of bugs, as particular kinds of errors in applying the planning grammar. Following a linguistic analogy, five types of planning bugs are characterized: syntactic, semantic, pragmatic, circumlocutions, and slips of the tongue. The plan derivation can be accessed during subsequent debugging, to aid in diagnosing the underlying cause of the erroneous code. Repair is accomplished via replanning, in which a substructure of the derivation is replaced. A debugging assistant for the SPADE environment (RAID) is designed based on this theory. The enterprise embodies Dijkstra's philosophy of programming in a structured fashion, but represents a more detailed study of planning and debugging techniques than has previously been attempted. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1976
Accession Number
ADA036783

Entities

People

  • Ira P. Goldstein
  • Mark L. Miller

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Human Systems
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Automatic Programming
  • Cognitive Science
  • Computational Linguistics
  • Computer Programming
  • Computer Science
  • Computers
  • Context Free Grammars
  • Debugging
  • Engineering
  • Grammars
  • Language
  • Linguistics
  • New York
  • Programming Languages
  • Structured Programming
  • Topology

Readers

  • Artificial Intelligence
  • Computer Science.