skip to main content
article
Free Access

An experimental investigation of the effect of program structure on program understanding

Published:01 March 1977Publication History
Skip Abstract Section

Abstract

A within-subjects experimental design was used to test the effect of two variables on program understanding. The independent variables were complexity of control flow and paragraphing of the source code. Understanding was measured by having the subjects memorize the code for a fixed time and reconstruct the code verbatim. Also some subjects were asked to describe the function of the program after completing their reconstruction. The two groups of subjects for the experiment were students from an introductory programming class and from a graduate class in programming languages.

The major findings were that paragraphing of the source had no effect for either group of subjects but that programs with simplified control flow were easier for the computer science students to understand as measured by their ability to reconstruct the programs. The dependent variable, rated accuracy of their description of the programs functions, did not differ as a function of either independent variable.

The paper is concluded with a description of the utility of this experimental approach relative to improving the reliability of software and a discussion of the importance of these findings.

References

  1. 1 Bower, G.H. Analysis of a mnemonic device. American Scientist, 1970, 58(5), 496-510.]]Google ScholarGoogle Scholar
  2. 2 Craik, F.I.M., & Lockhart, R.S. Levels of processing: A framework for memory research. Journal of Verbal Learning and Verbal Behavior, 1972, 11, 671-684.]]Google ScholarGoogle ScholarCross RefCross Ref
  3. 3 Datamation. December 1973, 20(12), 50-63.]]Google ScholarGoogle Scholar
  4. 4 Dijkstra. Notes on structured programming. Dahl, Dijkstra, & Hoare: Structured Programming, 1972. New York: Academic Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Gries, D. On structured programming - a reply to Smoliar. Communications of the ACM, November 1974, 17(11), 655-658.]]Google ScholarGoogle Scholar
  6. 6 deGroot, A. Thought and choice in chess. The Hague: Mouton Press, 1965.]]Google ScholarGoogle Scholar
  7. 7 Hunt, E.B., & Love, T. How good can memory be? In A. Melton & E. Martin (Eds.), Coding Process in Human Memory. Washington: V.H. Winston & Sons, 1972.]]Google ScholarGoogle Scholar
  8. 8 Kernighan, B., & Plauger, P. The Elements of Programming Style. New York: McGraw Hill, 1974.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Kirk, R.E. Experimental Design: Procedures for the Behavioral Sciences. Belmont, CA: Belmont, CA: Brooks/Cole, 1968.]]Google ScholarGoogle Scholar
  10. 10 Mills, H.D. Mathematical foundations of structured programming. Gaithersburg, MD: IBM Technical Reports, 1972.]]Google ScholarGoogle Scholar
  11. 11 Shneidermann, B. Two experiments in programming behavior. Technical Report Number 17 from Indiana University, Computer Science Department, 1974.]]Google ScholarGoogle Scholar
  12. 12 Simon, H.A. The Sciences of the Artificial. Cambridge: MIT Press, 1969.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Weissman, L. A methodology for studying the psychological complexity of computer programs. Dissertation published as Technical Report Number CSRG-37, University of Toronto, Department of Computer Science, 1974.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An experimental investigation of the effect of program structure on program understanding

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader