This Article 
 Bibliographic References 
 Add to: 
The Effectiveness of Control Structure Diagrams in Source Code Comprehension Activities
May 2002 (vol. 28 no. 5)
pp. 463-477

Recently, the first two in a series of planned comprehension experiments were performed to measure the effect of the control structure diagram (CSD) on program comprehensibility. Upper- and lower-division computer science and software engineering students were asked to respond to questions regarding the structure and execution of one source code module of a public domain graphics library. The time taken for each response and the correctness of each response was recorded. Statistical analysis of the data collected from these two experiments revealed that the CSD was highly significant in enhancing the subjects' performance in this program comprehension task. The results of these initial experiments promise to shed light on fundamental questions regarding the effect of software visualizations on program comprehensibility.

[1] M. Aoyama, “Design Specification in Japan: Tree-Structured Charts,” IEEE Software, pp. 31-37, Mar. 1989.
[2] V. Arunachalam and W. Sasso, “Cognitive Processes in Program Comprehension: An Empirical Analysis in the Context of Software Engineering,” J. Systems and Software, vol. 34, pp. 177-189, 1996.
[3] A. Badre, “Designing Chunks for Sequentially Displayed Information,” Directions in Human Computer Interaction A. Badre and B. Shneiderman, eds., pp. 179-193, 1982.
[4] R.M. Baecker, C. Digiano, and A. Marcus, “Software Visualization for Debugging,” Comm. ACM, vol. 40, no. 4, pp. 44-54, 1997.
[5] R. Baecker and A. Marcus, Human Factors and Typography for More Readable Programs. Reading, Mass.: Addison–Wesley, 1990.
[6] T.A. Ball and S.G. Eick, “Software Visualization in the Large,” Computer, vol. 29, no. 4, pp. 33–43, 1996.
[7] V.R. Basili, "Evolving and Packaging Reading Technologies," J. Systems and Software, vol. 38, no. 1, July 1997, pp. 3-12.
[8] V.R. Basili and R.W. Selby, “Comparing the Effectiveness of Software Testing Strategies,” IEEE Trans. Software Eng., vol. 13, pp. 1,278-1,296, 1987.
[9] G. Booch and D. Bryan, Software Engineering with Ada, third ed. Benjamin-Cummings, 1994.
[10] D.G. Bouwhuis, “Reading as a Goal-Driven Behaviour,” Working Models of Human Perception, B.A.G. Elsendoorn and H. Bouma, eds., pp. 341-362, 1988.
[11] S.N. Cant, D.R. Jeffery, and B. Henderson-Sellers, “A Conceptual Model of Cognitive Complexity of Elements of the Programming Process,” Information and Software Technology, vol. 37, no. 7, pp. 351-362, 1995.
[12] W. Citrin, C. Santiago, and B. Zorn, “Scalable Interfaces to Support Program Comprehension,” Proc. Fourth Workshop Program Comprehension, pp. 123-132, 1996.
[13] T.A. Corbi,“Program understanding: Challenge for the 1990s,” IBM Systems J., vol. 28, no. 2, pp. 294-306, 1989.
[14] J.H. Cross, T.D. Hendrix, L.A. Barowski, and K.S. Mathias, “Scalable Visualizations to Support Reverse Engineering: A Framework for Evaluation,” Proc. Fifth Working Conf. Reverse Eng., Oct. 1998.
[15] J.H. Cross, S. Maghsoodloo, and T.D. Hendrix, “The Control Structure Diagram: An Overview and Initial Evaluation,” Empirical Software Eng., vol. 3, no. 2, pp. 131-156, 1998.
[16] J.H. Cross and S.V. Sheppard, “The Control Structure Diagram: An Automated Graphical Representation for Software,” Proc. 21st Hawaii Int'l Conf. System Sciences, vol. 2, pp. 446-454, 1988.
[17] B. Curtis, S.B. Sheppard, E. Kruesi-Bailey, J. Bailey, and D.A. Boehm-Davis, “Experimental Evaluation of Software Documentation Formats,” J. Systems and Software, vol. 9, no. 2, pp. 167–207, Feb. 1989.
[18] J.S. Davis, “Chunks: A Basis for Complexity Measurement,” Information Processing and Management, vol. 20, no. 1, pp. 119-127, 1984.
[19] P. Goolkasian, “Picture-Word Differences in a Sentence Verification Task,” Memory&Cognition, vol. 24, pp. 584-594, 1996.
[20] T.R.G. Green and M. Petre, “When Visual Programs are Harder to Read than Textual Programs,” Proc. Sixth European Conf. Cognitive Ergonomics (ECCE-6), 1992.
[21] T.R.G. Green, M. Petre, and R.K.E. Bellamy, “Comprehensibility of Visual and Textual Programs: A Test of Superlativism Against the `Match-Mismatch' Conjecture,” Empirical Studies of Programmers Fourth Workshop, 1991.
[22] W. Kintsch, Memory and Cognition. John Wiley, 1977.
[23] R.J. Miara, J.A. Musselman, J.A. Navarro, and B. Shneiderman, Program Indentation and Comprehensibility Comm. ACM, vol. 1983, no. 11, pp. 861-867, Nov. 1983.
[24] G.A. Miller, “The Magic Seven Plus or Minus Two. Some Limits on Our Capacity for Processing Information,” Psychological Re., vol. 63, pp. 81-97, 1956.
[25] T.G. Moher, D.C. Mak, B. Blumenthal, and L.M. Leventhal, “Comparing the Comprehensibility of Textual and Graphical Programs: The Case of Petri Nets,” Empirical Studies of Programmers: Fifth Workshop, C.R. Cook, J.C. Scholtz, and J.C. Spohrer, eds., pp. 137-161, 1993.
[26] D.C. Montgomery and G.C. Runger, Applied Statistics and Probability for Engineers, second ed. pp. 473-475, 1999.
[27] G. Murphy, D. Notkin, and E.-C. Lan, "An Empirical Study of Static Call Graph Extractors," The 18th Int'l Conf. Software Eng., pp. 90-99, 1996.
[28] P.W. Oman and C.R. Cook, Typographic Style Is More than Cosmetic Comm. ACM, vol. 33, no. 5, pp. 506-520, May 1990.
[29] N. Pennington, “Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs,” Cognitive Psychology, vol. 19, pp. 295-341, 1987.
[30] N. Pennington, “Comprehension Strategies in Programming,” Proc. Second Workshop Empirical Studies of Programmers, Ablex Publishing, Norwood, N.J., 1987, pp. 100-112.
[31] M. Petre, Why Looking Isn't Always Seeing: Readership Skills and Graphical Programming Comm. ACM, vol. 38, no. 6, pp. 33-44, June 1995.
[32] B.A. Price, R.M. Baecker, and I.S. Small, “A Principled Taxonomy Of Software Visualization,” J. Visual Languages and Computing, vol. 4, no. 3 pp. 211-266, 1993.
[33] Rational UML Summary, version 1.01, Rational Software Corporation, Santa Clara, Calif., 1997.
[34] D. Raymond, “Characterizing Visual Languages,” Proc. 1991 IEEE Workshop Visual Languages, pp. 176-182, 1991.
[35] C. Sauer, D.R. Jeffery, L. Land, and P. Yetton, “The Effectiveness of Software Development Technical Reviews: A Behaviorally Motivated Program of Research,” IEEE Trans. Software Eng., vol. 26, no. 1, pp. 1-14, 2000.
[36] D.A. Scanlan, “Structured Flowcharts Outperform Pseudocode: An Experimental Comparison,” IEEE Software, pp. 28-36, Sept. 1989.
[37] B. Shneiderman and R. Mayer, “Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results,” Int'l J. Computer and Information Sciences, vol. 8, no. 3, pp. 219-238, 1979.
[38] E. Soloway and K. Ehrlich, “Empirical Studies of Programming Knowledge,” IEEE Trans. Software Eng., vol. 10, no. 5, pp. 595-609, 1984.
[39] M.D. Storey, F.D. Fracchia, and H.A. Muller, “Cognitive Design Elements to Support the Construction of a Mental Model During Software Visualization,” Proc. Fifth Int'l Workshop Program Comprehension (IWPC'97), pp. 17-28, Mar. 1997.
[40] A. von Mayrhauser and A. Vans, "From Program Comprehension to Tool Requirements for an Industrial Environment," Proc. Second Workshop on Program Comprehension,Capri, Italy, pp. 78-86, July 1993.
[41] A. von Mayrhauser and A.M. Mans, “Identification of Dynamic Comprehension Processes During Large Scale Maintenance,” IEEE Trans. Software Eng., vol. 22, no. 6, pp. 424–437, 1996.
[42] M. Weiser, “Source Code,” Computer, vol. 20, no. 11, pp. 66-73, Nov. 1987.
[43] M.S. Weldon, H.L. Roediger, and B.H. Challis, “The Properties of Retrieval Cues Constrain the Picture Superiority Effect,” Memory and Cognition, vol. 17, pp. 95-105, 1989.

Index Terms:
software visualization, control structure diagram, program comprehension, controlled experiments, evaluation
D. Hendrix, J.H. Cross II, S. Maghsoodloo, "The Effectiveness of Control Structure Diagrams in Source Code Comprehension Activities," IEEE Transactions on Software Engineering, vol. 28, no. 5, pp. 463-477, May 2002, doi:10.1109/TSE.2002.1000450
Usage of this product signifies your acceptance of the Terms of Use.