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.
- 1 Bower, G.H. Analysis of a mnemonic device. American Scientist, 1970, 58(5), 496-510.]]Google Scholar
- 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 ScholarCross Ref
- 3 Datamation. December 1973, 20(12), 50-63.]]Google Scholar
- 4 Dijkstra. Notes on structured programming. Dahl, Dijkstra, & Hoare: Structured Programming, 1972. New York: Academic Press.]] Google ScholarDigital Library
- 5 Gries, D. On structured programming - a reply to Smoliar. Communications of the ACM, November 1974, 17(11), 655-658.]]Google Scholar
- 6 deGroot, A. Thought and choice in chess. The Hague: Mouton Press, 1965.]]Google Scholar
- 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 Scholar
- 8 Kernighan, B., & Plauger, P. The Elements of Programming Style. New York: McGraw Hill, 1974.]] Google ScholarDigital Library
- 9 Kirk, R.E. Experimental Design: Procedures for the Behavioral Sciences. Belmont, CA: Belmont, CA: Brooks/Cole, 1968.]]Google Scholar
- 10 Mills, H.D. Mathematical foundations of structured programming. Gaithersburg, MD: IBM Technical Reports, 1972.]]Google Scholar
- 11 Shneidermann, B. Two experiments in programming behavior. Technical Report Number 17 from Indiana University, Computer Science Department, 1974.]]Google Scholar
- 12 Simon, H.A. The Sciences of the Artificial. Cambridge: MIT Press, 1969.]] Google ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- An experimental investigation of the effect of program structure on program understanding
Recommendations
An experimental investigation of the effect of program structure on program understanding
Proceedings of an ACM conference on Language design for reliable softwareA 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 ...
An experimental investigation of the effect of program structure on program understanding
Proceedings of an ACM conference on Language design for reliable softwareA 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 ...
An experimental investigation of the effect of program structure on program understanding
Proceedings of an ACM conference on Language design for reliable softwareA 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 ...
Comments