Intelligent Assistance for Program Recognition, Design, Optimization, and Debugging
Abstract
The authors describe research in four related areas, based on the following theoretical principles: The assistant approach (incremental automation) and the exploitation of cliches' (using knowledge of common engineering practice). Each investigation involves the construction of a prototype system to provide intelligent assistance for a person performing the task: A recognition assistant will help reconstruct the design of a program, given only its source code. A design assistant will assist a programmer by detecting errors and inconsistencies in his design choices and by automatically making many straightforward implementation decisions. An optimization assistant will help improve the performance of programs by identifying intermediate results that can be reused. A debugging assistant will aid in the detection, localization, and repair of errors in designs as well as completed programs. These prototypes will be constructed using two shared technologies: A programming language independent formal representation for programs and programming knowledge (the Plan Calculus) and an automated reasoning system (CAKE), which supports both general logical reasoning and special-purpose decision procedures.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 1989
- Accession Number
- ADA206698
Entities
People
- Charles Rich
- Richard C. Waters
Organizations
- Massachusetts Institute of Technology