Enhancing Eye Tracking of Source Code: A Specialized Fixation Filter for Source Code

The present state of the art in gaze processing algorithms, for eye tracking data, targets general purpose application in studies using a variety of stimuli (prose, images, or video). This work proposes the development of a gaze processing algorithm specialized to support eye tracking in the field of software engineering. Enhancements to fixation identification with respect to source code tokens can have wide reaching implications for researchers and practitioners using eye tracking with software engineering tasks. This work will require infrastructure improvements to the iTrace framework and additional study to contextualize the relevance of individual source code tokens during comprehension activities. Details concerning the nature of the improvements and a plan research and development on this problem is presented.

[1]  Roman Bednarik,et al.  What influences dwell time during source code reading?: analysis of element type and frequency as factors , 2014, ETRA.

[2]  Jonathan I. Maletic,et al.  Exploration, Analysis, and Manipulation of  Source Code Using srcML , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[3]  Yann-Gaël Guéhéneuc,et al.  A systematic literature review on the usage of eye-tracking in software engineering , 2015, Inf. Softw. Technol..

[4]  Jonathan I. Maletic,et al.  iTrace: eye tracking infrastructure for development environments , 2018, ETRA.

[5]  Pontus Olsson,et al.  Real-time and Offline Filters for Eye Tracking , 2007 .

[6]  Chris Lankford,et al.  Gazetracker: software designed to facilitate eye movement analysis , 2000, ETRA.

[7]  Andreas Busjahn,et al.  Analysis of code reading to gain more insight in program comprehension , 2011, Koli Calling.

[8]  Peter C.-H. Cheng,et al.  A Survey on the Usage of Eye-Tracking in Computer Programming , 2018, ACM Comput. Surv..

[9]  S. Moss One algorithm to rule them all , 2017 .

[10]  Collin McMillan,et al.  An Eye-Tracking Study of Java Programmers and Application to Source Code Summarization , 2015, IEEE Transactions on Software Engineering.

[11]  Oleg Spakov Comparison of eye movement filters used in HCI , 2012, ETRA '12.

[12]  Andrew Begel,et al.  Eye Movements in Code Reading: Relaxing the Linear Order , 2015, 2015 IEEE 23rd International Conference on Program Comprehension.

[13]  Oleg V. Komogortsev,et al.  Using machine learning to detect events in eye-tracking data , 2018, Behavior research methods.

[14]  Bonita Sharif,et al.  iTrace: enabling eye tracking on software artifacts within the IDE to support software engineering tasks , 2015, ESEC/SIGSOFT FSE.

[15]  Jonathan I. Maletic,et al.  Practical Eye Tracking with iTrace , 2019, 2019 IEEE/ACM 6th International Workshop on Eye Movements in Programming (EMIP).

[16]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[17]  Jonathan I. Maletic,et al.  iTrace: Overcoming the Limitations of Short Code Examples in Eye Tracking Experiments , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[18]  Jonathan I. Maletic,et al.  Developer Reading Behavior While Summarizing Java Methods: Size and Context Matters , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[19]  Dawn J. Lawrie,et al.  The impact of identifier style on effort and comprehension , 2012, Empirical Software Engineering.

[20]  Joseph H. Goldberg,et al.  Identifying fixations and saccades in eye-tracking protocols , 2000, ETRA.

[21]  Yuan-yuan Ren,et al.  An elaborate algorithm for automatic processing of eye movement data and identifying fixations in eye-tracking experiments , 2018 .

[22]  Wen Liu,et al.  Identifying Fixations in Gaze Data via Inner Density and Optimization , 2019, INFORMS J. Comput..