Dependency directed reasoning in the analysis of program modify complex data structure

  • Authors:
  • Howard Elliot Shrobe

  • Affiliations:
  • Artificial Intelligence Laboratory and Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts

  • Venue:
  • IJCAI'79 Proceedings of the 6th international joint conference on Artificial intelligence - Volume 2
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

REASON is the deductive component of a larger program understanding system called the Programmer's Apprentice ('REASON') key features are : (1) Its use of the Truth Maintenance System [2] to record end manipulate the justifications for its deductions, (2) A discipline of explicitly recording control information in a form which may be manipulated by the reasoning system itself and (3) Its goal of producing a a "common sense" explanation of how a program functions, as opposed to the formal proofs common in verification. One particularly difficult problem which such a system must face is the analysis of program which allow destructive modifications of potentially shared data structures. Our observation is that experienced programmers tend to make simplifying assumptions when analyzing such programs; even if these assumptions are found to be false they can be useful in guiding a more accurate analysis. This paper shows how REASON mimics thb behavior of expert programmers.