Augmenting Code with In Situ Visualizations to Aid Program Understanding

被引:39
|
作者
Hoffswell, Jane [1 ]
Satyanarayan, Arvind [2 ]
Heer, Jeffrey [1 ]
机构
[1] Univ Washington, Seattle, WA 98195 USA
[2] Stanford Univ, Stanford, CA 94305 USA
基金
美国国家科学基金会;
关键词
Visualization; Code augmentation; Program behavior; Program understanding; Debugging; DESIGN;
D O I
10.1145/3173574.3174106
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programmers must draw explicit connections between their code and runtime state to properly assess the correctness of their programs. However, debugging tools often decouple the program state from the source code and require explicitly invoked views to bridge the rift between program editing and program understanding. To unobtrusively reveal runtime behavior during both normal execution and debugging, we contribute techniques for visualizing program variables directly within the source code, We describe a design space and placement criteria for embedded visualizations. We evaluate our in situ visualizations in an editor for the Vega visualization grammar. Compared to a baseline development environment, novice Vega users improve their overall task grade by about 2. points when using the in situ visualizations and exhibit significant positive effects on their self-reported speed and accuracy.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] The CodeSparks Framework - Augmenting Source Code with Glyph-based Visualizations
    Moseler, Oliver
    Diehl, Stephan
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2023, 230
  • [2] Augmenting abstract syntax trees for program understanding
    Welty, CA
    [J]. AUTOMATED SOFTWARE ENGINEERING, 12TH IEEE INTERNATIONAL CONFERENCE, PROCEEDINGS, 1997, : 126 - 133
  • [3] Augmenting Static Visualizations with PapARVis Designer
    Chen, Zhutian
    Tong, Wai
    Wang, Qianwen
    Bach, Benjamin
    Qu, Huamin
    [J]. PROCEEDINGS OF THE 2020 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS (CHI'20), 2020,
  • [4] ClimbVis - Investigating In-situ Visualizations for Understanding Climbing Movements by Demonstration
    Kosmalla, Felix
    Daiber, Florian
    Wiehr, Frederik
    Krueger, Antonio
    [J]. PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON INTERACTIVE SURFACES AND SPACES (ACM ISS 2017), 2017, : 270 - 279
  • [5] Improving program comprehension by combining code understanding with comment understanding
    Vinz, Bradley L.
    Etzkorn, Letha H.
    [J]. KNOWLEDGE-BASED SYSTEMS, 2008, 21 (08) : 813 - 825
  • [6] Reusing program investigation knowledge for code understanding
    Robillard, Martin P.
    Manggala, Putra
    [J]. PROCEEDINGS OF THE 16TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, 2008, : 202 - 211
  • [7] Targeting Program Visualizations
    Lahtinen, Essi
    Jarvinen, Hannu-Matti
    Melakoski-Vistbacka, Suvi
    [J]. ITICSE 2007: 12TH ANNUAL CONFERENCE ON INNOVATION & TECHNOLOGY IN COMPUTER SCIENCE EDUCATION: INCLUSIVE EDUCATION IN COMPUTER SCIENCE, 2007, : 256 - 260
  • [8] IMPLEMENTING AN IN SITU MOCK CODE QUALITY IMPROVEMENT PROGRAM
    Herbers, Megan D.
    Heaser, Joseph A.
    [J]. AMERICAN JOURNAL OF CRITICAL CARE, 2016, 25 (05) : 393 - 399
  • [9] The Effect of Richer Visualizations on Code Comprehension
    Asenov, Dimitar
    Hilliges, Otmar
    Mueller, Peter
    [J]. 34TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, CHI 2016, 2016, : 5040 - 5045
  • [10] Deploying Smart Program Understanding on a Large Code Base
    Ieva, Carlo
    Gotlieb, Arnaud
    Kaci, Souhila
    Lazaar, Nadjib
    [J]. 2019 IEEE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE TESTING (AITEST), 2019, : 73 - 80