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
Link To Document