Analyzing Reading Pattern of Simple C Source Code Consisting of Only Assignment and Arithmetic Operations Based on Data Dependency Relationship by Using Eye Movement

  • Shimpei MatsumotoEmail author
  • Ryo Hanafusa
  • Yusuke Hayashi
  • Tsukasa Hirashima
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10904)


Some programming learners in the lowest achievement group do not have even a minimum skill to read a simple program correctly. Reading programs would be an essential programming learning. To efficiently support learners in the lowest group, firstly we should conduct a fundamental analysis of reading programs to unveil their features. Therefore, the authors focused on eye tracking as a method to carry out the idea. The authors have thought that utilizing eye movement helps to clarify the reasons for making programming learning difficult. Therefore, the purpose of this study is to investigate the possibility of learner’s program comprehension process based on the pattern of eye movement, not the eye distribution during reading source code. In this paper, we first measure the data of eye movement during reading some source codes and propose a modeling method to represent the feature of eye movement. Then we design an experimental protocol for analyzing eye movement based on program structure. The experiment of this paper focuses on source codes based on four types of data dependency relationship that can be generated by three lines of assignment statement only. As the analysis result, we confirmed that the data dependence of each pattern appeared as the unique eye behavior of program reading.


Programming education Reading Eye tracking Data dependency relationship 



This work was partly supported by Japan Society for the Promotion of Science, KAKENHI Grant-in-Aid for Scientific Research(C), 16K01147, 17K01164.


  1. 1.
    Sagisaka, T., Watanabe, S.: Development and evaluation of a web-based diagnostic system for beginners programming course. J. Jpn. Soc. Inf. Syst. Educ. 27(1), 29–38 (2010). (in Japanese)Google Scholar
  2. 2.
    Pennington, N.: Stimulus structures and mental representations in expert comprehension of computer programs. Cogn. Psychol. 19, 295–341 (1987)CrossRefGoogle Scholar
  3. 3.
    Okamoto, M., Terakawa, K., Murakami, M., Ikeda, K., Mori, M., Uehara, T., Kita, H.: Computer programming course materials for self-learning novices. In: Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications, vol. 2010, no. 1, pp. 2855–2861 (2010)Google Scholar
  4. 4.
    Uwano, H., Nakamura, M., Monden, A., Matsumoto, K.: Exploiting eye movements for evaluating reviewer’s performance in software review. IEICE Trans. Fundam. E90–A(10), 317–328 (2007)Google Scholar
  5. 5.
    Uwano, H., Nakamura, M., Monden, A., Matsumoto, K.: Analyzing individual performance of source code review using reviewers’ eye movement. In: Proceedings of the 2006 Symposium on Eye Tracking Research & Applications, pp. 133–140 (2006)Google Scholar
  6. 6.
    Kashima, T., Matsumoto, S., Yamagishi, S.: Knowledge acquisition with eye-tracking to teach programming appropriate for learner’s programming skill. In: Proceedings of the Third Asian Conference on Information Systems, pp. 287–292 (2014)Google Scholar
  7. 7.
    Rayner, K.: Eye movements in reading and information processing: 20 years of research. Psychol. Bull. 124(3), 372–422 (1998)CrossRefGoogle Scholar
  8. 8.
    Ihantola, P.: Notes on eye tracking in programming education. In: Eye Movements in Programming Education, pp. 13–15 (2014)Google Scholar
  9. 9.
    Crosby, M., Stelovsky, J.: How do we read algorithms? A case study. IEEE Comput. 23(1), 24–35 (1990)CrossRefGoogle Scholar
  10. 10.
    Weiser, M.: Programmers use slices when debugging. Commun. ACM 25(7), 446–452 (1982)CrossRefGoogle Scholar
  11. 11.
    Agrawal, H., Horgan, J.: Dynamic program slicing. In: SIGPLAN Notices, vol. 25, no. 6, pp. 246–256 (1990)CrossRefGoogle Scholar
  12. 12.
    Nishimatsu, A., Nishie, K., Kusumoto, S., Inoue, K.: An experimental evaluation of program slicing on fault localizaion process. IEICE Trans. Inf. Syst. 82(11), 1336–1344 (1999). (in Japanese)zbMATHGoogle Scholar
  13. 13.
    Ishio, T., Kusumoto, S., Inoue, K.: Debugging support for aspect-oriented program based on program slicing and call graph. In: Proceedings of 20th IEEE International Conference on Software Maintenance, pp. 178–187 (2004)Google Scholar
  14. 14.
    Inazumi, H., Takeuchi, S.: How to learn programming technique by using program slicing. Aoyama Inf. Sci. 29(1), 51–78 (2001). (in Japanese)Google Scholar
  15. 15.
    Yoshida, H., Tateiwa, Y., Yamamoto, D., Takahashi, N.: A code review navigator with chunking and slicing for assembly programming exercise. IEICE technical report, vol. 109, no. 335, ET2009-81, pp. 169–174 (2009). (in Japanese)Google Scholar
  16. 16.
    Ottenstein, K., Ottenstein, L.: The program dependence graph in a software development environment. In: Proceedings of ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SDE 1, pp. 177–184 (1984)Google Scholar
  17. 17.
    Rayner, K.: Eye movements in reading and information processing, 20 years of research. Psychol. Bull. 124(3), 372–422 (1998)CrossRefGoogle Scholar
  18. 18.
    Salvucci, D., Anderson, J.: Automated eye-movement protocol analysis. Hum.-Comput. Interact. 16(1), 39–86 (2001)CrossRefGoogle Scholar
  19. 19.
    Ohno, T.: What can be learned from eye movement?: understanding higher cognitive processes from eye movement analysis. Jpn. J. Cogn. Sci. 9(4), 565–579 (2002). (in Japanese)Google Scholar
  20. 20.
    Juang, B., Rabiner, L.: The segmental k-means algorithm for estimating the parameters of hidden Markov models. IEEE Trans. ASSP 38(9), 1639–1641 (1990)CrossRefGoogle Scholar
  21. 21.
    Olsen, A.: The Tobii I-VT Fixation Filter, Tobii Technology (2012)Google Scholar
  22. 22.
    Iwao, T., Mima, D., Kubo, H., Maejima, A., Morishima, S.: Analysis and synthesis of eye movement in face-to-face conversation based on probability model. Inst. Image Electron. Eng. Jpn. 42(5), 661–670 (2013). (in Japanese)Google Scholar
  23. 23.
    Orlov, P.: Primary investigation of applying Hidden Markov Models for eye movements in source code reading. In: Eye Movements in Programming Education II: Analyzing the Novice’s Gaze, pp. 18–20 (2015)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Shimpei Matsumoto
    • 1
    Email author
  • Ryo Hanafusa
    • 2
  • Yusuke Hayashi
    • 2
  • Tsukasa Hirashima
    • 2
  1. 1.Faculty of Applied Information ScienceHiroshima Institute of TechnologySaeki-kuJapan
  2. 2.Graduate School of EngineeringHiroshima UniversityHigashihiroshimaJapan

Personalised recommendations