• DocumentCode
    753387
  • Title

    Understanding and Documenting Programs

  • Author

    Basili, Victor R. ; Mills, Harlan D.

  • Author_Institution
    Department of Computer Science, University of Maryland
  • Issue
    3
  • fYear
    1982
  • fDate
    5/1/1982 12:00:00 AM
  • Firstpage
    270
  • Lastpage
    283
  • Abstract
    This paper reports on an experiment in trying to understand an unfamiliar program of some complexity and to record the authors´ understanding of it. The goal was to simulate a practicing programmer in a program maintenance environment using the techniques of program design adapted to program understanding and documentation; that is, given a program, a specification and correctness proof were developed for the program. The approach points out the value of correctness proof ideas in guiding the discovery process. Toward this end, a variety of techniques were used: direct cognition for smaller parts, discovering and verifying loop invariants for larger program parts, and functions determined by additional analysis for larger program parts. An indeterminate bounded variable was introduced into the program documentation to summarize the effect of several program variables and simplify the proof of correctness.
  • Keywords
    Program analysis; program correctness; program documentation; proof techniques; software maintenance; Cognition; Computer science; Documentation; Milling machines; Programming profession; Software maintenance; Writing; Program analysis; program correctness; program documentation; proof techniques; software maintenance;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1982.235255
  • Filename
    1702942