• DocumentCode
    1237625
  • Title

    PROUST: Knowledge-Based Program Understanding

  • Author

    Johnson, W. Lewis ; Soloway, Elliot

  • Author_Institution
    Department of Computer Science, Yale University
  • Issue
    3
  • fYear
    1985
  • fDate
    3/1/1985 12:00:00 AM
  • Firstpage
    267
  • Lastpage
    275
  • Abstract
    This paper describes a program called PROUST which does on-line analysis and understanding of Pascal written by novice programmers. PROUST takes as input a program and a nonalgorithmic description of the program requirements, and finds the most likely mapping between the requirements and the code. This mapping is in essence a reconstruction of the design and implementation steps that the programmer went through in writing the program. A knowledge base of programming plans and strategies, together with common bugs associated with them, is used in constructing this mapping. Bugs are discovered in the process of relating plans to the code; PROUST can therefore give deep explanations of program bugs by relating the buggy code to its underlying intentions.
  • Keywords
    Artificial inteiligence; program debugging; program understanding; programmer training; Computer bugs; Computer science; Debugging; Machinery; Personnel; Programming profession; Psychology; Reactive power; Writing; Artificial inteiligence; program debugging; program understanding; programmer training;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1985.232210
  • Filename
    1702003