CrossCode: Multi-level Visualization of Program Execution

被引:10
作者
Hayatpur, Devamardeep [1 ]
Wigdor, Daniel [2 ]
Xia, Haijun [1 ]
机构
[1] Univ Calif San Diego, La Jolla, CA 92093 USA
[2] Univ Toronto, Toronto, ON, Canada
来源
PROCEEDINGS OF THE 2023 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS (CHI 2023) | 2023年
关键词
program visualization; programming; debugging; COMPREHENSION; SYSTEM;
D O I
10.1145/3544548.3581390
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Program visualizations help to form useful mental models of how programs work, and to reason and debug code. But these visualizations exist at a fixed level of abstraction, e.g., line-by-line. In contrast, programmers switch between many levels of abstraction when inspecting program behavior. Based on results from a formative study of hand-designed program visualizations, we designed CrossCode, a web-based program visualization system for JavaScript that leverages structural cues in syntax, control flow, and data flow to aggregate and navigate program execution across multiple levels of abstraction. In an exploratory qualitative study with experts, we found that CrossCode enabled participants to maintain a strong sense of place in program execution, was conducive to explaining program behavior, and helped track changes and updates to the program state.
引用
收藏
页数:13
相关论文
共 51 条
[1]  
Abelson H., 1996, Structure and Interpretation of Computer Programs
[2]  
academia, 2013, About us
[3]   Design Principles for Visual Communication [J].
Agrawala, Maneesh ;
Li, Wilmot ;
Berthouzoz, Floraine .
COMMUNICATIONS OF THE ACM, 2011, 54 (04) :60-69
[4]  
Aho A., 1986, COMPILERS PRINCIPLES
[5]   A Survey of Machine Learning for Big Code and Naturalness [J].
Allamanis, Miltiadis ;
Barr, Earl T. ;
Devanbu, Premkumar ;
Sutton, Charles .
ACM COMPUTING SURVEYS, 2018, 51 (04)
[6]  
Annamaa A., 2015, Proceedings of the 15th Koli Calling Conference on Computing Education Research, P117, DOI DOI 10.1145/2828959.2828969
[7]  
Baecker R., 1998, SOFTWARE VISUALIZATI, P369
[8]  
Brilliant, 2011, US
[9]   TOWARDS A THEORY OF THE COMPREHENSION OF COMPUTER-PROGRAMS [J].
BROOKS, R .
INTERNATIONAL JOURNAL OF MAN-MACHINE STUDIES, 1983, 18 (06) :543-554
[10]  
Cormen T., 2001, Introduction to Algorithms, P595