skip to main content
10.1145/2094131.2094133acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

Analysis of code reading to gain more insight in program comprehension

Published:17 November 2011Publication History

ABSTRACT

Code reading, although an integral part of program comprehension, is rarely reflected. In this paper, we want to argue for a research approach and direction exploiting the potential that lies in the analysis of reading processes. Based on the vast experience compiled in psychology and some studies in computing, eye tracking and think aloud were elaborated as a viable research instrument for code reading studies. We conducted a feasibility study, designed to examine the actual process of code reading as the sensory starting point of comprehension. Computational and statistical tools were developed to facilitate data capture and analysis for eye tracking experiments. Results do not just provide proof of concept but already emphasize differences between reading natural language text and source code, as well as a distinct attention allocation within different code elements like keywords and operators.

In conclusion we suggest a combination of theory-driven selected stimuli material, a carefully designed procedure of eye tracking, complemented with suitable post-tests on comprehension as well as retrospective think aloud in order to obtain additional information on the linking process between perception and comprehension. As an addition to other research approaches this should most certainly help us to improve our knowledge of comprehension within an educational research framework.

References

  1. Aschwanden, C. and Crosby, M. 2006. Code Scanning Patterns in Program Comprehension. Symposium on Skilled Human-Intelligent Agent Performance. Measurement, Application and Symbiosis. Hawaii International Conference on Systems Science (2006).Google ScholarGoogle Scholar
  2. Bednarik, R. and Tukiainen, M. 2006. An eye-tracking methodology for characterizing program comprehension processes. Proceedings of the 2006 symposium on Eye tracking research & applications (San Diego, California, 2006), 125--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bednarik, R. and Tukiainen, M. 2005. Effects of display blurring on the behavior of novices and experts during program debugging. CHI '05 extended abstracts on Human factors in computing systems (Portland, OR, USA, 2005), 1204--1207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bednarik, R. and Tukiainen, M. 2008. Temporal eye-tracking data: evolution of debugging strategies with multiple representations. Proceedings of the 2008 symposium on Eye tracking research & applications (Savannah, Georgia, 2008), 99--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bednarik, R. and Tukiainen, M. 2004. Visual attention tracking during program debugging. Proceedings of the third Nordic conference on Human-computer interaction (Tampere, Finland, 2004), 331--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bente, G. 2004. Erfassung und Analyse des Blickverhaltens. Lehrbuch der Medienpsychologie. R. Mangold, P. Vorderer, and G. Bente, eds. Hogrefe Verlag für Psychologie. 297--324.Google ScholarGoogle Scholar
  7. Block, A. 2002. Die Blickregistrierung als psychophysiologische Untersuchungsmethode: Grundlagen, Anwendung und technische Realisierung. Verlag Dr. Kovač.Google ScholarGoogle Scholar
  8. Carreiras, M. 2004. On the On-Line Study of Language Comprehension. The On-line Study of Sentence Comprehension: Eyetracking, ERPs and Beyond. M. Carreiras, C. Clifton, Jr., and C. Clifton, Jr., eds. Psychology Press. 1--14.Google ScholarGoogle Scholar
  9. Christmann, U. 2004. Lesen. Lehrbuch der Medienpsychologie. R. Mangold, P. Vorderer, and G. Bente, eds. Hogrefe Verlag für Psychologie. 419--442.Google ScholarGoogle Scholar
  10. Crosby, M. E. and Stelovsky, J. 1990. How do we read algorithms? A case study. Computer. 23, 1 (1990), 24--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Crosby, M. E., Scholtz, J. and Wiedenbeck, S. 2002. The Roles Beacons Play in Comprehension for Novice and Expert Programmers. 14th Workshop of the Psychology of Programming Interest Group (2002), 58--73.Google ScholarGoogle Scholar
  12. Galley, N. 2001. Physiologische Grundlagen, Meßmethoden und Indikatorfunktion der okulomotorischen Aktivität. Grundlagen und Methoden der Psychophysiologie. F. Rösler, ed. Hogrefe Verlag für Psychologie. 237--316.Google ScholarGoogle Scholar
  13. Guéhéneuc, Y.-G 2006. TAUPE: Towards Understanding Program Comprehension. Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research (Toronto, Ontario, Canada, 2006), 1--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kerkau, F. 2009. Usability-Testing zur Qualitätssicherung von Online-Lernangeboten. Online-Lernen: Handbuch für Wissenschaft und Praxis. L. J. Issing and P. Klimsa, eds. Oldenbourg Verlag. 329--337.Google ScholarGoogle Scholar
  15. Letovsky, S. 1987. Cognitive Processes in Program Comprehension. Journal of Systems and Software. 7, 4 (Dec. 1987), 325--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lister, R., Clear, T., Simon, Bouvier, D. J., Carter, P., Eckerdal, A., Jacková, J., Lopez, M., McCartney, R., Robbins, P., Seppälä, O. and Thompson, E. 2010. Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer. SIGCSE Bull. 41, 4 (2010), 156--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Lopez, M., Whalley, J., Robbins, P. and Lister, R. 2008. Relationships between reading, tracing and writing skills in introductory programming. Proceeding of the Fourth international Workshop on Computing Education Research (Sydney, Australia, 2008), 101--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. von Mayrhauser, A. and Vans, A. M. 1994. Program Understanding - A Survey. Colorado State University Computer Science Technical Report CS-94-120. (1994).Google ScholarGoogle Scholar
  19. R Development Core Team 2011. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing.Google ScholarGoogle Scholar
  20. Rayner, K. and Pollatsek, A. 1989. The Psychology of Reading. Prentice Hall.Google ScholarGoogle Scholar
  21. Soloway, E. and Ehrlich, K. 1984. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering. 10, 5 (1984), 595--609.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. TIOBE Software: Tiobe Index: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html. Accessed: 2011-06-30.Google ScholarGoogle Scholar
  23. Uwano, H., Nakamura, M., Monden, A. and Matsumoto, K.-ichi 2006. Analyzing Individual Performance of Source Code Review Using Reviewers? Eye Movement. Proceedings of the 2006 symposium on Eye tracking research & applications (2006), 133--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Uwano, H., Nakamura, M., Monden, A. and Matsumoto, K.-ichi 2007. Exploiting Eye Movements for Evaluating Reviewer's Performance in Software Review. IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences E Series A. 90, 10 (2007), 317--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Venables, A., Tan, G. and Lister, R. 2009. A closer look at tracing, explaining and code writing skills in the novice programmer. Proceedings of the fifth international workshop on Computing education research workshop (Berkeley, CA, USA, 2009), 117--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Wittmann, M. and Pöppel, E. 2001. Neurobiologie des Lesens. Handbuch Lesen. B. Franzmann, K. Hasemann, D. Löffler, and E. Schön, eds. Schneider Verlag Hohengehren. 224--239.Google ScholarGoogle Scholar
  27. Yusuf, S., Kagdi, H. and Maletic, J. I. 2007. Assessing the Comprehension of UML Class Diagrams via Eye Tracking. Proceedings of the 15th IEEE International Conference on Program Comprehension (2007), 113--122. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analysis of code reading to gain more insight in program comprehension

      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
      • Published in

        cover image ACM Other conferences
        Koli Calling '11: Proceedings of the 11th Koli Calling International Conference on Computing Education Research
        November 2011
        149 pages
        ISBN:9781450310529
        DOI:10.1145/2094131

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 November 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate80of182submissions,44%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader