Dependency Directed Reasoning for Complex Program Understanding.

Abstract

Artificial Intelligence research involves the creation of extremely complex programs which must possess the capability to introspect, learn, and improve their expertise. Any truly intelligent program must be able to create procedures and to modify them as it gathers information from its experience. A crucial stepping stone in AI research is the development of a system which can understand complex programs well enough to modify them. The Programmer's Apprentice Project is attempting to develop an interactive programming tool which will help expert programmers deal with the complexity involved in engineering a large software system. This report describes REASON, the deductive component of the programmer's apprentice. REASON is intended to help expert programmers in the process of evolutionary program design. REASON utilizes the engineering techniques of modelling, decomposition, and analysis by inspection to determine how modules interact to achieve the desired overall behavior of a program. REASON coordinates its various sources of knowledge by using a dependency-directed structure which records the justification for each deduction it makes. Once a program has been analyzed these justifications can be summarized into a teleological structure called a plan which helps the system understand the impact of a proposed program modification.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1979
Accession Number
ADA078055

Entities

People

  • Howard Elliot Shrobe

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Advanced Electronics
  • C4I
  • Cyber
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Circuit Analysis
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Databases
  • Debugging
  • High Level Languages
  • Lists (Data Structures)
  • Operating Systems
  • Programming Languages
  • Reasoning
  • Software Development
  • Standards
  • Trees (Data Structures)

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Systems Analysis and Design
  • Theoretical Analysis.

Technology Areas

  • AI & ML