Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

Postal Subscription Code 80-970

2018 Impact Factor: 1.129

Front. Comput. Sci.    2022, Vol. 16 Issue (3) : 163704    https://doi.org/10.1007/s11704-020-0422-1
RESEARCH ARTICLE
Collaborative eye tracking based code review through real-time shared gaze visualization
Shiwei CHENG1(), Jialing WANG1, Xiaoquan SHEN1, Yijian CHEN1, Anind DEY2
1. School of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China
2. Information School, University of Washington, Seattle 98195-9440, USA
 Download: PDF(3221 KB)   HTML
 Export: BibTeX | EndNote | Reference Manager | ProCite | RefWorks
Abstract

Code review is intended to find bugs in early development phases, improving code quality for later integration and testing. However, due to the lack of experience with algorithm design, or software development, individual novice programmers face challenges while reviewing code. In this paper, we utilize collaborative eye tracking to record the gaze data from multiple reviewers, and share the gaze visualization among them during the code review process. The visualizations, such as borders highlighting current reviewed code lines, transition lines connecting related reviewed code lines, reveal the visual attention about program functions that can facilitate understanding and bug tracing. This can help novice reviewers to make sense to confirm the potential bugs or avoid repeated reviewing of code, and potentially even help to improve reviewing skills. We built a prototype system, and conducted a user study with paired reviewers. The results showed that the shared real-time visualization allowed the reviewers to find bugs more efficiently.

Keywords computer supported collaborative learning      computer supported cooperative work      social computing      fixation      human computer interaction     
Corresponding Author(s): Shiwei CHENG   
Just Accepted Date: 18 December 2020   Issue Date: 15 November 2021
 Cite this article:   
Shiwei CHENG,Jialing WANG,Xiaoquan SHEN, et al. Collaborative eye tracking based code review through real-time shared gaze visualization[J]. Front. Comput. Sci., 2022, 16(3): 163704.
 URL:  
https://academic.hep.com.cn/fcs/EN/10.1007/s11704-020-0422-1
https://academic.hep.com.cn/fcs/EN/Y2022/V16/I3/163704
Fig.1  Architecture of our collaborative eye tracking system
Fig.2  Custom eye tracker implemented for our research
Fig.3  Screenshot of our visualization (eye tracking data comes from the collaborative reviewers, and the red dot indicates the gaze cursor in real time)
Fig.4  Participants used collaborative eye trackers
Fig.5  Eye tracking pattern during code paired-review. (a) Example of separated pattern; (b) Example of followed pattern
Percentage of obtained scale points /%
1 2 3 4 5
Helpfulness
Cursor 3.85 3.85 7.69 65.38 19.23
Border 0.00 7.69 19.23 61.54 11.54
Shading 0.00 3.85 11.54 61.54 23.07
Lines 0.00 7.69 7.69 65.38 19.24
Difficulty of understanding
Cursor 3.85 7.69 3.85 65.38 19.23
Border 0.00 7.69 3.85 69.23 19.23
Shading 0.00 7.69 19.23 61.54 11.54
Lines 3.85 7.69 7.69 53.85 26.92
Tab.1  Subjective feedback about different types of visualizations
Fig.6  Eye tracking patterns during complex code paired-review. (a) No specific patterns in control group; (b) Example of separated pattern and followed pattern in experimental group
1 J L Drury , E Beaton , L Boiney , M O Duncan , R GreenPope , M D Howland , G L Klein . Collaboration research for crisis management teams. Foundation and Trends in Human-Computation Interaction, 2010, 3( 3): 139– 212
2 Pietinen S, Bednarik R, Tukiainen M. Shared visual attention in collaborative programming: A descriptive analysis. In: Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering. 2010, 21−24
3 B Schneider , R Pea . Toward collaboration sensing. International Journal of Computer-Supported Collaborate Learning, 2014, 9( 4): 371– 395
4 Y Zhang , K Pfeuffer , M K Chong , J Alexander , A Bulling , H Gellersen . Look together: using gaze for assisting co-located collaborative search. Personal and Ubiquitous Computing, 2017, 21 : 173– 186
5 Busjahn T, Schulte C, Tamm S, Bednarik R. Eye Movements in Programming Education II: Analyzing the Novice’s Gaze. 2nd ed. Berlin: Freie University, 2015
6 Busjahn T, Bednarik R, Begel A, Crosby M, Paterson J H, Schulte C, Sharif B, Tamm S. Eye movements in code reading: Relaxing the linear order. In: Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension. 2015, 255−265
7 D’Angelo S, Begel A. Improving communication between pair programmers using shared gaze awareness, In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. 2017, 6245−6255
8 Tomasello M. Joint attention as social cognition. In: Moore C and Dunham P J, eds. Joint Attention: Its Origins and Role in Development. Hillsdale: Lawrence Erlbaum Associates, 1995, 103−130
9 E Bates , D Thal , K Whitesell , L Fenson , L Oakes . Integrating language and gesture in infancy. Developmental Psychology, 1989, 25( 6): 1004– 1019
10 D C Richardson , R Dale . Looking to understand: The coupling between speakers' and listeners' eye movements and its relationship to discourse comprehension. Cognitive Science, 2005, 29( 6): 1045– 1060
11 Jermann P, Mullins D, Nussli M A, Dillenbourg P. Collaborative gaze footprints: Correlates of interaction quality. In: Proceedings of Connecting Computer-Supported Collaborative Learning to Policy and Practice. 2011, 184−191
12 Dix A, Finlay J E, Abowd G D, Beale R. Human-Computer Interaction. 3rd ed. New Jersey: Prentice-Hall, Inc., 2003
13 Cherubini M, Nüssli M A, Dillenbourg P. Deixis and gaze in collaborative work at a distance (over a shared map): A computational model to detect misunderstandings. In: Proceedings of the 2008 Symposium on Eye Tracking Research and Applications. 2008, 173−180
14 Stein R, Brennan S E. Another person’s eye gaze as a cue in solving programming problems. In: Proceedings of 6th International Conference on Multimodal Interfaces. 2004, 9–15
15 Kutt G H, Lee K, Hardacre E, Papoutsaki A. Eye-write: gaze sharing for collaborative writing. In: Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. 2019, 497−509
16 B Schneider , R Pea . Real-time mutual gaze perception enhances collaborative learning and collaboration quality. International Journal of Computer-Supported Collaborative Learning, 2013, 8 : 375– 397
17 Newn J, Velloso E, Allison F, Abdelrahman Y, Vetere F. Evaluating real-time gaze representations to infer intentions in competitive turn-based strategy games. In: Proceedings of the Annual Symposium on Computer-Human Interaction in Play. 2017, 541−552
18 D’Angelo S, Gergle D. An eye for design: gaze visualizations for remote collaborative work. In: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. 2018, 349−360
19 Williams L, Kessler R. Pair Programming Illuminated. 1st ed. Massachusetts: Addison-Wesley Longman Publishing Co., Inc., 2002
20 Romero P, du Boulay B, Lutz R, Cox R. The effects of graphical and textual visualisations in multi-representational debugging environments. In: Proceedings of the IEEE 2003 Symposia on Human Centric Computing Languages and Environments. 2003, 236−238
21 Bednarik R, Tukiainen M. Temporal eye-tracking data: Evolution of debugging strategies with multiple representations. In: Proceedings of the 2008 Symposium on Eye Tracking Research and Applications. 2008, 99−102
22 M Neider , M W Voss , A F Kramer . Coordinating spatial attention: Using shared gaze to augment search and rescue. Journal of Vision, 2010, 8( 6): 1084– 1084
23 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 and applications. 2006, 133−140
24 B Wu , Y Hu , A R Ruis . Analyzing computational thinking in collaborative programming: A quantitative ethnography approach. Journal of Computer Assisted Learning, 2019, 35( 3): 421– 434
25 Sharma K, Jermann P, Nüssli M A, Dillenbourg P. Understanding collaborative program comprehension: Interlacing gaze and dialogs. In: Proceedings of the 10th International Conference on Computer Supported Collaborative Learning. 2013, 430−437
26 Z Zhu , Q Ji . Eye and gaze tracking for interactive graphic display. Machine Vision and Applications, 2004, 15( 3): 139– 148
27 S Cheng , J Fan , A Dey . Smooth gaze: A framework for recovering tasks across devices using eye tracking. Personal and Ubiquitous Computing, 2018, 22( 3): 489– 501
28 Bednarik R, Busjahn T, Schulte C(eds.). Eye Movements in Programming Education: Analyzing the Expert’s Gaze. Joensuu: University of Eastern Finland, 2014
29 Cheng S, Sun Z, Sun L, Yee K, Dey A K. Gaze-based annotations for reading comprehension. In: Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. 2015, 1569−1572
30 Hauser F, Schreistter S, Reuter R, Mottok J H, Gruber H, Holmqvist K, Schorr N. Code reviews in C++: Preliminary results from an eye tracking study. In: Proceedings of ACM Symposium on Eye Tracking Research and Applications. 2020, 1–5
31 Begel A, Vrzakova H. Eye movements in code review. In: Proceedings of the Workshop on Eye Movements in Programming. 2018, 1–5
32 D'Angelo S, Gergle D. Gazed and confused: Understanding and designing shared gaze for remote collaboration. In: Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. 2016, 2492–2496
[1] Wei DUAN, Xiaogang QIU. Fostering artificial societies using social learning and social control in parallel emergency management systems[J]. Front Comput Sci, 2012, 6(5): 604-610.
[2] Tao WANG, Qingpeng ZHANG, Zhong LIU, Wenli LIU, Ding WEN. On social computing research collaboration patterns: a social network perspective[J]. Front Comput Sci, 2012, 6(1): 122-130.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed