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)
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