|
|
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 |
|
|
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
|
|
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
|
|
Viewed |
|
|
|
Full text
|
|
|
|
|
Abstract
|
|
|
|
|
Cited |
|
|
|
|
|
Shared |
|
|
|
|
|
Discussed |
|
|
|
|